如何使用 Python 在 Azure AD 中验证令牌
Posted
技术标签:
【中文标题】如何使用 Python 在 Azure AD 中验证令牌【英文标题】:How to validate token in Azure AD with Python 【发布时间】:2019-01-28 13:21:30 【问题描述】:-
我已经按照这个Azure AD demo从第1步到第4步注册了两个应用程序。
我 git 克隆了 Azure AD demo 并成功运行。
但我想请求我的自定义 API,所以我替换了
resource
,但我出错了。资源 URI 显示为 http://<talent-id>/TodoListDaemon
。
现在,我有两个问题:
-
如何设置真正的资源?
如何在我的自定义 api 中进行额外的工作
【问题讨论】:
【参考方案1】:要验证令牌,您可以使用 PyJWT 和加密技术来支持 RS256 算法。要通过 HTTP 获取外部信息,您可以使用请求。
试试:
pip install pyjwt cryptography requests
然后使用 App ID 验证令牌。
import jwt
app_id = 'd31a4d20-6c4a-1a40-b74d-1a3d461bb3d8'
access_token = 'XXXX'
token_header = jwt.get_unverified_header(access_token)
其他一些人已经在 Stack Overflow 上询问过这个问题,您可以参考他们的主题。 How to verify JWT id_token produced by MS Azure AD?
【讨论】:
我试过这个并且它有效,但即使我向令牌添加一些随机值,它仍然会返回这些标题。发生这种情况的任何原因? 读取未经验证的标题是否称为验证? pyjwt.readthedocs.io/en/latest/usage.html 您说“使用 App ID 进行验证”-然后您只需设置 app_id 变量并且从不使用它。你能解释一下吗?以上是关于如何使用 Python 在 Azure AD 中验证令牌的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 Azure AD B2C 使用身份验证功能在 Azure Web App 上添加身份验证?
如何使用 Postman 获取 Azure AD 刷新令牌?