python – 图形API以编程方式作为用户进行身份验证
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 图形API以编程方式作为用户进行身份验证,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1637字,纯文字阅读大概需要3分钟。
内容图文
![python – 图形API以编程方式作为用户进行身份验证](/upload/InfoBanner/zyjiaocheng/707/f1839ababd7344dab910716114a0e9c8.jpg)
我正在尝试使用HTTP POST请求获取特定用户OAuth2承载令牌,似乎没有任何工作.
login_url = 'https://login.microsoftonline.com/'
authorize_endpoint = '{0}{1}{2}'.format(login_url,config.tenant_id,'/oauth2/authorize')
bodyvals = {'client_id': config.client_id,
'client_secret': config.client_secret,
'grant_type': 'client_credentials',
'resource':config.resource_endpoint}
return requests.post(authorize_endpoint, data=bodyvals)
上面的代码有效,但代表应用程序生成令牌.
我似乎无法找到传递用户凭据的方法,也没有关于此的任何文档.
一般来说,我不在乎答案是在Python或Powershell中,还是仅仅是一般性解释,我似乎并不了解如何使用AAD正确地做到这一点.
解决方法:
您可以手动完成,请参阅我的其他答案:https://stackoverflow.com/a/40844983/1658906.
您必须使用grant_type = password并调用oauth2 / token端点.以下是用于身份验证的C#版本:
private async Task<string> GetAccessToken()
{
string tokenEndpointUri = Authority + "oauth2/token";
var content = new FormUrlEncodedContent(new []
{
new KeyValuePair<string, string>("grant_type", "password"),
new KeyValuePair<string, string>("username", Username),
new KeyValuePair<string, string>("password", Password),
new KeyValuePair<string, string>("client_id", ClientId),
new KeyValuePair<string, string>("client_secret", ClientSecret),
new KeyValuePair<string, string>("resource", PowerBiResourceUri)
}
);
using (var client = new HttpClient())
{
HttpResponseMessage res = await client.PostAsync(tokenEndpointUri, content);
string json = await res.Content.ReadAsStringAsync();
AzureAdTokenResponse tokenRes = JsonConvert.DeserializeObject<AzureAdTokenResponse>(json);
return tokenRes.AccessToken;
}
}
在请求中,您必须指定:
>用户名
>密码
>客户ID
>客户机密
>资源URI
内容总结
以上是互联网集市为您收集整理的python – 图形API以编程方式作为用户进行身份验证全部内容,希望文章能够帮你解决python – 图形API以编程方式作为用户进行身份验证所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。