簡體   English   中英

在另一個服務中使用其托管標識對服務調用者進行身份驗證

[英]Authenticate service caller with its Managed Identity in another service

在另一個 App Service/.NET Core WebAPI(也有它自己的托管身份)? 我想使用 Azure API Management 來隱藏調用的服務和盡可能少的密鑰。

編輯:

API應用服務 Azure 授權/活動目錄設置: 在此處輸入圖像描述 API 應用注冊詳情:

在此處輸入圖像描述

應用程序注冊/API 應用程序/身份驗證:

  • 隱式授權 - 僅檢查 ID 令牌

  • 支持的帳戶類型 - 單租戶

在此處輸入圖像描述

App注冊/API App/暴露一個API:

在此處輸入圖像描述

當我嘗試添加客戶端應用程序時得到了這個( d1d是我的客戶端應用程序服務托管 ID的結尾):

在此處輸入圖像描述

您的 API 不需要托管身份,任何應用程序注冊都可以。 設置其應用程序 id uri並使用Azure.Identity nuget package來獲取令牌,如下所示:

var managedIdentityCredential = new ManagedIdentityCredential();
var scopes = new []{"{your api application id uri}/.default"}; // E.G: api://3a768fed-640b-420c-8b33-39c701c55199/.default
var accessToken = (await managedIdentityCredential.GetTokenAsync(new Azure.Core.TokenRequestContext(scopes))).Token;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM