从Python中的Active Directory获取承载令牌

问题描述 投票:1回答:1

我正在尝试使用OAuth在Python中将身份验证功能编码为Web服务。该Web服务仅请求我将承载令牌发布到REST API端点。

在我的公司中,我们使用的是本地Active Directory实例,该实例已为OAuth设置。因此,我正在研究基于用户名/密码对(首先)请求承载令牌的正确方法是什么(然后我可以采用更高级和安全的方式,例如证书)。

我很高兴能帮助我指出Python的正确方向。建议使用哪个模块来执行此操作? ADAL会定期显示,但是我想知道它是否仅适用于Azure AD,因此不适用于我的情况。由于没有那么多代码示例,所以我对此不太确定。

提前感谢!

R

python oauth active-directory adfs
1个回答
0
投票

我假设您已经在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文件或类似的文件。

© www.soinside.com 2019 - 2024. All rights reserved.