簡體   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