在Python中从activedirectory获取承载令牌

2024-03-29 12:27:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用Python和OAuth编写一个web服务的身份验证函数。web服务只请求我向restapi端点发布承载令牌。在

在我的公司,我们使用的是一个内部部署的activedirectory实例,它已经为OAuth设置好了。因此,我正在研究什么是正确的方法(开始时)基于用户名/密码对请求承载令牌(然后我可以发展到更高级和更安全的方法,例如证书)。在

如果您能帮我指出Python的正确方向,我将不胜感激。建议使用哪个模块来执行此操作?ADAL经常出现,但我想知道它是否只为azuread设计,因此不适用于我的情况。因为没有那么多的代码示例,我不确定。在

提前谢谢!在

R


Tags: 实例方法函数身份验证restapiweb密码部署
2条回答

是的-阿达尔是最好的选择。在

在服务器2019上,现在也支持MSAL。在

有许多为adf定制的ADAL samples。在

这些都来自AAD样本,因为协议是相同的,adf的变化很小。在

我假设你已经在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文件中实际硬编码敏感信息。考虑使用config json文件或类似的文件。在

相关问题 更多 >