通过 Azure AD 验证不透明的访问令牌
Posted
技术标签:
【中文标题】通过 Azure AD 验证不透明的访问令牌【英文标题】:validate opaque access token by Azure AD 【发布时间】:2022-01-17 01:23:54 【问题描述】:Azure AD 是发出不透明的访问令牌还是只发出 JWT 令牌?
如果是,在这种情况下如何验证不透明的访问令牌?因为没有自省端点?
【问题讨论】:
您好@user217648,如果我的回答对您有帮助,您可以点赞并接受它作为答案(点击答案旁边的复选标记,将其从灰色切换为已填充。)。这对其他社区成员可能是有益的。谢谢 你的回答没有回答我的问题。 【参考方案1】:JWT 具有可读内容,例如您可以在 https://jwt.io/ 上看到。每个人都可以解码令牌并读取其中的信息。格式记录在RFC 7519。
另一方面,不透明标记的格式不适合您阅读。只有发行人知道格式。
这是来自https://auth0.com/docs/tokens的引述:
不透明令牌:专有格式的令牌,通常包含服务器持久存储中信息的一些标识符。要验证一个不透明的令牌,令牌的接收者需要调用发出该令牌的服务器。
一个不透明的标记是一个简单的字符串,它只是一个参考,因此,它的格式自然完全由发布它的服务器任意确定(因此称为“专有格式”)。令牌字符串在创建基础(引用)内容时确定,即当它与此令牌(作为引用或外键)引用的内容配对(关联)时
一些 JWT 框架只有身份验证令牌是 JWT,但它们使用不透明令牌作为刷新令牌。
更多信息请参考SO thread
【讨论】:
好的,谢谢。但是如何通过 Azure AD 验证不透明的令牌? 不透明令牌不传递用户的任何可识别信息。为了验证令牌并检索令牌和用户的信息,资源服务器调用授权服务器并请求令牌自省端点授权服务器。 所以你的意思是 Azure AD 有一个可以被资源服务器调用的自省端点? @user217648 对! RahulKumarShow-MT,不,MS 说 Azure AD 没有自省端点。这就是我问这个问题的原因。您能否指出一篇文章或链接来证明您所说的合理?以上是关于通过 Azure AD 验证不透明的访问令牌的主要内容,如果未能解决你的问题,请参考以下文章
无法验证从 Azure AD 获得的访问令牌签名以保护 Web API