基于这篇文章:https://github.com/Azure-Samples/active-directory-dotnet-webapp-openidconnect,我用OpenId连接协议做了一个示例。
以下链接表示只接收id_token不足以验证用户身份;您必须根据应用的要求验证签名并验证id_token中的声明。
任何人都可以帮我指导一些代码示例如何验证签名并验证id_token中的声明。
答案 0 :(得分:2)
OpenId Conenct中间件负责为您验证id_token。请参阅"关于代码"样本部分。我在这里粘贴相关部分:
此示例显示如何使用OpenID Connect ASP.Net OWIN 用于从单个Azure AD租户登录用户的中间件。该 中间件通过传递在Startup.Auth.cs文件中初始化 应用程序的客户端ID和Azure AD租户的URL 申请注册的地方。然后中间件要小心 的:
*下载Azure AD元数据,查找签名密钥,以及 找到租户的发行人名称。
*通过验证来处理OpenID Connect登录响应 收到JWT的签名和签发者,提取用户的索赔, 并将它们放在ClaimsPrincipal.Current。
*与会话cookie ASP.Net OWIN中间件集成 为用户建立会话。