openid connect owin 如何验证来自 Azure AD 的令牌?

Posted

技术标签:

【中文标题】openid connect owin 如何验证来自 Azure AD 的令牌?【英文标题】:How does the openid connect owin validate the token from Azure AD? 【发布时间】:2020-07-25 23:43:01 【问题描述】:

我开发了一个受 Azure AD 保护的 asp.net Web 应用程序。 OpenId 连接 owin 中间件负责验证来自 Azure AD 的 JWT 令牌。 openid connect owin 软件如何实际验证令牌?据我了解,发送者(生成 JWT 的服务器)和接收者(使用 JWT 的应用程序)都需要共享一个秘密,但那是什么秘密?我看不出我提供了任何秘密?我什至看到了 javascript 示例,其中 JWT 令牌在 javascript 中进行了验证,这怎么能工作,javascript 不能保守任何秘密。

【问题讨论】:

【参考方案1】:

Open ID Connect 服务器使用私钥签署令牌。客户端使用可通过公共元数据端点获得的 公钥 验证令牌签名。没有共享的秘密。

对于 Azure AD,请阅读 Fetch the OpenID Connect metadata document

【讨论】:

以上是关于openid connect owin 如何验证来自 Azure AD 的令牌?的主要内容,如果未能解决你的问题,请参考以下文章

Azure OpenID Connect 通过 OWIN 中间件导致无限重定向循环

Chrome 未在我的 OpenID Connect 工作流程 (ASP.NET OWIN) 中保存/返回 Nonce cookie

验证 Google OpenID Connect JWT ID 令牌

验证 Google OpenID Connect JWT ID 令牌

OWIN openid连接外部登录不执行指定的回调url

什么 OpenID Connect 授权流程来验证移动应用程序用户?