亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

守護進程應用程序和范圍

守護進程應用程序和范圍

C#
揚帆大魚 2023-07-09 17:24:32
因此,我嘗試看看是否可以支持 C# 守護程序應用程序可以訪問受 MSAL.NET 和 OAuth2 范圍保護的自定義 Web API 的場景。截至目前,我看不出有什么辦法可以做到這一點。庫和工具集的版本是:.NET Core 2.2 Microsoft.Identity.Client 4.1.0客戶是var app = ConfidentialClientApplicationBuilder.Create("<client app id>")                 .WithClientSecret("<client_secret>")                 .WithAuthority("https://login.microsoftonline.com/<tenant_id_that_hosts_the_web_api>")                 .Build();然后獲取tokenawait app.AcquireTokenForClient(new string[] { "api://<app_id_of_the_web_api>/.default" });此時,我確實獲得了令牌,我可以使用該令牌調用使用 MSAL 和具有上述應用 ID 的 Azure 應用程序保護的自定義 Web API 端點。這不起作用,因為我在端點上有基于策略的授權,期望在 Azure AD 應用程序中定義特定的自定義范圍。問題是,如何配置客戶端和 Azure AD,以便獲得作為 Web API 聲明傳入的特定范圍?
查看完整描述

2 回答

?
HUX布斯

TA貢獻1876條經驗 獲得超6個贊

您需要注冊兩個應用程序,一個用于守護程序應用程序(客戶端應用程序),一個用于Web api(后端應用程序)。

http://img1.sycdn.imooc.com/64aa7d0b0001661103470173.jpg

單擊 Web api 應用程序 -> 公開 API。

http://img1.sycdn.imooc.com/64aa7d180001856506500227.jpg

單擊守護程序應用程序 -> API 權限 -> 添加權限 -> 我的 API -> 選擇 Web api 應用程序 -> 選擇權限。

http://img2.sycdn.imooc.com/64aa7d260001964913110504.jpg

然后是客戶端

var?app?=?ConfidentialClientApplicationBuilder.Create("<client?app?id>")
????????????????.WithClientSecret("<client?app?client_secret>")
????????????????.WithAuthority("https://login.microsoftonline.com/<tenant_id>")
????????????????.Build();

范圍:

await?app.AcquireTokenForClient(new?string[]?{?"api://<app_id_of_the_web_api>/read"?});


查看完整回答
反對 回復 2023-07-09
?
吃雞游戲

TA貢獻1829條經驗 獲得超7個贊

被迫使用 api:///.default 來獲取訪問令牌。當使用“常規”范圍時,再多的哄騙似乎也不起作用。我按照上面的建議配置了應用程序,但不是:

await?app.AcquireTokenForClient(new?string[]?{?"api://<app_id_of_the_web_api>/read"?});

我不得不使用:

await?app.AcquireTokenForClient(new?string[]?{?"api://<app_id_of_the_web_api>/.default"?});

在 API 應用程序的配置中,我必須在清單中定義一個“appRole”,用于標識我要分配給守護程序應用程序的角色,然后在 Web API 中,我更改了策略代碼以檢查范圍或應用程序角色 - 有效。


查看完整回答
反對 回復 2023-07-09
  • 2 回答
  • 0 關注
  • 152 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號