【问题标题】:How to validate the id_token如何验证 id_token
【发布时间】:2018-01-31 04:57:32
【问题描述】:

根据这篇文章:https://github.com/Azure-Samples/active-directory-dotnet-webapp-openidconnect,我用 OpenId 连接协议做了一个示例。

以下链接表明仅接收 id_token 不足以对用户进行身份验证;您必须根据应用程序的要求验证签名并验证 id_token 中的声明。

https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-protocols-openid-connect-code

谁能帮助我指导一些代码示例如何验证签名并验证 id_token 中的声明。

【问题讨论】:

    标签: asp.net-mvc-5 azure-active-directory openid-connect


    【解决方案1】:

    OpenId Conenct 中间件负责为您验证 id_token。请参阅示例的“关于代码”部分。我在这里粘贴相关部分:

    此示例显示如何使用 OpenID Connect ASP.Net OWIN 用于从单个 Azure AD 租户登录用户的中间件。这 中间件在 Startup.Auth.cs 文件中初始化,通过传递它 应用程序的客户端 ID 和 Azure AD 租户的 URL 申请注册的地方。然后中间件负责 的:

    *下载 Azure AD 元数据,查找签名密钥,以及 查找租户的颁发者名称。

    *通过验证 传入 JWT 中的签名和颁发者,提取用户的声明, 并将它们放在 ClaimsPrincipal.Current 上。

    *与会话cookie ASP.Net OWIN 中间件集成到 为用户建立会话。

    【讨论】:

    • 感谢 Vittorio 的回复。详细了解对我有很大帮助:)
    猜你喜欢
    • 2020-03-27
    • 2017-05-18
    • 2015-05-30
    • 1970-01-01
    • 2016-03-08
    • 2017-08-25
    • 2017-12-15
    • 1970-01-01
    • 2013-05-31
    相关资源
    最近更新 更多