首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用OAuth生成TOTP 2.0令牌?

如何使用OAuth生成TOTP 2.0令牌?
EN

Stack Overflow用户
提问于 2022-09-13 06:21:48
回答 1查看 135关注 0票数 0

在python中使用以下代码:

代码语言:javascript
复制
import pyotp

totp = pyotp.TOTP('secret')

otp = totp.now()

如何使用上面生成的otp作为以下API调用中的请求参数来检索OAuth2令牌?

https://login.microsoftonline.com/{tenant-ID}/oauth2/v2.0/token

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-28 06:58:47

将"otp"-值作为有效负载的一部分传入POST请求的主体,如client_id, secret等,并请求令牌,则生成令牌。

代码中的data是我从azure获得的参数。

找到下面的代码供您参考。

代码语言:javascript
复制
import sys
import pyotp
import json
import requests 

secret = 'base32secret'    
totp = pyotp.TOTP(secret)
otp = totp.now()

API_ENDPOINT = "https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/token"

headers = {
"Content-type": "application/json",
}  
data = {
'grant_type': 'client_credentials',
'username': 'someusrname',
'client_id': 'client_id',
'client_secret':'client_secret',
'scope':'api://{applicationId}/.default',
'otp': otp,
}

res = requests.post(url = API_ENDPOINT, data = data)
print("Access token is:", res.text)

注意:确保启用了OAuth2.0以获得scope。如何启用它,检查它的这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73698316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档