我正在尝试使用 OAuth 用 Python 编写 Web 服务的身份验证功能。 Web 服务仅请求我将不记名 token 发布到 REST API 端点。
在我的公司中,我们使用的是本地 Active Directory 实例,该实例已针对 OAuth 设置。因此,我正在研究(首先)基于用户名/密码对请求不记名 token 的正确方法是什么(然后我可以进一步采用更高级和更安全的方法,例如证书)。
非常感谢您能帮助我在 Python 中找到正确的方向。建议使用什么模块来执行此操作? ADAL定期出现,但我想知道它是否仅为 Azure AD 设计,因此不适用于我的情况。由于没有那么多代码示例,我对此不确定。
提前致谢!
R。
我假设您已经在 Azure Active Directory 中注册了该应用程序。
几天前我遇到了这个问题,最后做了这样的事情:
import json
import requests
TOKEN_URL = "https://login.microsoftonline.com/organizations/oauth2/v2.0/token"
def authenticate():
request_payload = {"username": YOUR USERNAME/EMAIL,
"password": YOUR PASSWORD,
"scope": THE SCOPES YOU NEED,
"grant_type": "password",
"client_id": YOUR AAD CLIENT ID,
"client_secret": YOUR AAD CLIENT SECRET}
bearer_token = requests.post(url=TOKEN_URL, data=request_payload).json()["access_token"]
return bearer_token
我还建议您不要在 python 文件中实际硬编码敏感信息。考虑使用配置 json 文件或类似的文件。
我是一名优秀的程序员,十分优秀!