python - 在 Powershell 中使用 MFA 的 OAuth 2.0/OIDC => 如何转换为 Python
问题描述
我们的身份提供商 (IDP) 仅允许 MFA(证书)身份验证。如果我们想请求 OAuth 访问 + ID 令牌,我们通过 Powershell 以下列形式进行:
$url = "IDP_TOKEN_ENDPOINT"
$body = @{grant_type="password";scope="openid";client_id=$client_id}
# how to get certificate Thumbprint: ls cert:CurrentUser\My
$response = Invoke-RestMethod -Method Post -Uri $url -Body $body -CertificateThumbprint <THUMBPRINT_OF_PERSONAL_CERTIFICATE_STORED_IN_WINDOWS>
在 $response 中,我们得到了正常的 OIDC 返回(使用 access_token、refresh_toke、...)
如何在 python 中归档相同的内容?我用 requests_oauthlib 尝试过,但我没有看到任何功能如何提供客户端证书 - 只有用户名/密码(https://oauthlib.readthedocs.io/en/latest/oauth2/clients/legacyapplicationclient.html) ? 我还想避免将证书与密钥文件一起存储在文件系统中,因为那样我必须将它们安全地存储并且必须使用安全的方法来提供密钥密码。
任何想法?
PS:我们想得到什么。通过访问令牌连接到 RestAPI 的本地脚本。从 IDP 请求访问令牌。
提前致谢。
亲切的问候
雷格吉尔
解决方案
推荐阅读
- sql - CASE WHEN 选择要带回 ORACLE SQL 的值列表
- react-native - 如何将联系人详细信息加载到反应原生的多选下拉列表中?
- asp.net-core - Application Insights 请求遥测缺少基本路径
- python - Extract() 位置列表
- visual-studio-code - 当文本在另一个自动完成后突出显示时,VSCode 不会自动完成
- xamarin - Navigation.RemovePage 上的 Xamarin.forms ios MonoTouchException
- flutter - Flutter:如何以印度编号格式显示货币?
- pandas - 时间序列:分组并计算方差
- android - React Native 0.61 版本中的 Google Play 64 位要求
- javascript - 循环中的JavaScript部分匹配对象属性?