4 回答

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超9個(gè)贊
如果需要應(yīng)用程序分配,首先您需要為應(yīng)用程序創(chuàng)建用戶角色。如果沒有也沒有問題。如果需要應(yīng)用程序分配,請返回 api 權(quán)限并在我的 api 中為創(chuàng)建的角色授予權(quán)限.

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超7個(gè)贊
此錯(cuò)誤消息表明您需要將“應(yīng)用程序角色”添加到您的應(yīng)用程序注冊中。您可以通過首先在{API GUID}上添加新的應(yīng)用程序角色來執(zhí)行此操作
然后為應(yīng)用程序{API GUID}分配此角色(不要忘記給予管理員同意)
本質(zhì)上,這里發(fā)生的事情是您的應(yīng)用程序注冊{API GUID}在{API GUID}上獲得了為受眾{API GUID}創(chuàng)建訪問令牌的角色,因此:它本身。

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超6個(gè)贊
啊,所以您想要 API 本身的訪問令牌?不確定這是否可能..
如果這是在另一個(gè)應(yīng)用程序中,則應(yīng)將其注冊為 Azure AD 中的另一個(gè)應(yīng)用程序。然后,它可以要求 API 上的應(yīng)用程序權(quán)限并通過客戶端憑據(jù)調(diào)用它。
如果這是在同一個(gè)應(yīng)用程序中,那么它會(huì)為自己獲取令牌,這聽起來很奇怪。

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超5個(gè)贊
當(dāng)您使用“authContext.AcquireTokenAsync(apiID, clientCredential);”時(shí)?要獲取訪問令牌,您需要使用廣告應(yīng)用程序的identifierUri作為資源。
例如:
string tenantId = "your tenant id or name, for example: hanxia.onmicrosoft.com";
? ? ? ? ? ? string clientId = "your client id";?
? ? ? ? ? ? string resource = "the identifierUri of your ad application ";
? ? ? ? ? ? string clientSecret = "";
? ? ? ? ClientCredentia clientCredentia = new ClientCredentia(clientId,clientSecret);
? ? ? ? ? ? ? ? var context = new AuthenticationContext("https://login.microsoftonline.com/" + tenantId);
? ? ? ? ? ? ? ? AuthenticationResult result = context.AcquireTokenAsync(resource, clientCredentia);
- 4 回答
- 0 關(guān)注
- 203 瀏覽
添加回答
舉報(bào)