问题描述
我正在构建一个小的ASP.NET Core应用程序。要求之一是授予用户通过证书登录的能力,而不是使用登录名/密码对。
登录页面示例
我发现了几个示例,通常基于以下方法
-
用户为选定的Web浏览器安装CSP(密码服务提供商)插件(该插件提供了直接通过JavaScript API调用从浏览器访问用户证书存储,签名数据等的功能)
-
登录表单包含隐藏的输入字段,其中包含预先生成的XML文档。
Xml文档示例
<loginrequest>
<currentTimestamp>123456789012345678</currentTimestamp>
<requestGuid>ba3d3b37-319f-4551-8c15-1abe4dce854e</requestGuid>
</loginrequest>
- 用户从证书列表中选择证书
- 用户按下 LOGIN (登录按钮具有onClick处理程序,该处理程序通过CSP浏览器插件对Xml文档进行签名)
- 已提交表单(表单字段由-签名的xml文档数据,选定的证书指纹,原始xml文档组成)
- 在服务器端,已签名的xml文档已通过指纹验证。如果符号有效,则系统通过匹配缩略图来在数据库中搜索适当的用户(数据库中的每个用户都有指纹列)。如果发现用户,则服务器会在让他进入时发出JWT访问令牌。
我对以下问题感兴趣
- 此方法是否具有任何类型的规范(例如, OAuth 2.0),其中包含有关Xml生成内容的详细信息 文档以及如何正确验证它?
- 还有其他方法可以 在ASP.NET Core Web应用程序中通过证书对用户进行身份验证?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)