我们如何在后端验证来自 azure AD 的访问令牌?
Posted
技术标签:
【中文标题】我们如何在后端验证来自 azure AD 的访问令牌?【英文标题】:How do we validate the access token from azure AD in backend? 【发布时间】:2021-12-17 17:40:04 【问题描述】:我有一个来自 azure AD 的 accessToken。我需要在 python 中验证它们。我该怎么做?
【问题讨论】:
您好,欢迎来到 Stack Overflow。这不是一站式代码商店。我们希望您付出一些努力,如果您遇到问题,我们很乐意提供帮助。就目前而言,这个问题不太适合 SO。请参考How to Ask。正题:你的问题很searchable。 【参考方案1】:其中一种变通方法是使用 PyJWT 和密码学依赖项(因为它包含二进制依赖项,所以必须针对目标操作系统创建和打包)来支持 RS256 算法。
pip install pyjwt cryptography requests
需要用于对令牌进行签名的密钥对的公钥才能对其进行验证。
我们还需要您在 Azure 门户中提供的应用 ID 以进行进一步验证。
然后使用 App ID 来验证令牌。
import jwt
app_id = 'd31a4d20-6c4a-1a40-b74d-1a3d461bb3d8'
access_token = 'XXXX'
token_header = jwt.get_unverified_header(access_token)
更多信息可以参考
参考:
-
AAD OAuth2 JWT Token Validation with Python
How to verify JWT id_token produced by MS Azure AD?
【讨论】:
如果我的答案对您有用,您可以接受它作为答案(单击答案旁边的复选标记,将其从灰色切换为填写)。这对其他社区成员可能是有益的。谢谢以上是关于我们如何在后端验证来自 azure AD 的访问令牌?的主要内容,如果未能解决你的问题,请参考以下文章
使用 MSAL Angular 包装器在 Ionic 4 中处理来自 Azure AD 的回调
openid connect owin 如何验证来自 Azure AD 的令牌?
如何配置 Azure AD 访问令牌的过期时间(使用 ADAL)?
当用户的 AD 身份验证失败时如何导航到自定义访问被拒绝页面(.net 3.1 核心与 OpenIDConnect Azure AD 身份验证)