繁体   English   中英

如何使用AzureADGraph或Microsoft Graph在AZURE AD B2C中为用户生成访问令牌?

[英]How to generate access token for user in AZURE AD B2C using AzureADGraph or Microsoft Graph?

有没有一种方法可以使用AZURE AD GRAPH客户端或MICROSOFT Graph客户端生成用户的访问令牌? 我有用户名和密码,客户端ID,策略名称。 使用所有这些参数。 我想生成令牌。

谢谢!

我们可以这样做,但是不建议使用用户名和密码来做到这一点。

通常,Microsoft不建议客户使用它,因为它不如其他流程安全,并且与条件访问不兼容(如果资源需要条件访问,则调用AcquireTokenSilent只会失败,因为这不是交互式的。流程中,STS没有机会向用户显示对话框以告知他(她)他/她需要进行多因素身份验证)。

演示代码。

var graphResourceId = "https://graph.windows.net";
var clientId = "afa0b3fxxxxx";
var userName= "xxxxx";
var password = "xxx";
var result = await authenticationContext.AcquireTokenAsync(graphResourceId, clientId, new UserPasswordCredential(userName, password));
var accessToken = result.AccessToken

有关更多信息,请参阅本文档

更新:

获取刷新令牌。

网址:

post https://login.microsoftonline.com/{tenantId}/oauth2/token

标头:

Content-Type: application/x-www-form-urlencoded

身体

resource=https%3A%2F%2Fgraph.windows.net&client_id=xxxxx&grant_type=password&username=tom%40xxxx.onmicrosoft.com&password=xxxxx&scope=openid 

测试结果:

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM