簡體   English   中英

客戶端應用程序調用受 Azure AD 保護的 Api 具有管理員角色

[英]Client app calls protected Api by Azure AD with Admin Role

我有點困惑,我有以下實現:

ASP.net API protected using Azure AD, and users with Admin role only can call this API, these roles are configured in Azure AD and assigned to users. API 有一個定義的 scope AccessApi

Scopes  Who can consent     Admin consent display name     User consent display name   State 

api://xx  User              AccessApi                      AccessApi                 Enable

The client application developed in WebAssembly blazor is registered and protected in Azure AD without roles, its configured to use AccessApi scope from my Api.

API / Permissions name  Type       Description   Admin consent required    Status
myApi (1)   

AccessApi              Delegated     AccessApi              No

我的困惑是我是否需要為客戶端應用程序分配一個管理員角色以獲得令牌,該令牌將用於訪問 API 或 API scope accessApi沒有任何角色就足夠了嗎?

知道客戶端應用程序的用戶與 API 的用戶相同,只是角色不同。

由於相同的用戶同時使用 API 和客戶端 App,是否可以通過客戶端 App 使用MS Graph來獲取 JWT 令牌並使用該令牌調用 API?

如果要根據角色控制用戶對 api 的訪問,那么可以使用appRole 設置應用程序的appRole,然后將appRole分配給用戶,那么只有分配了appRole的用戶才能訪問api。

在此處輸入圖像描述

接下來,將 go 分配給企業應用程序並將 appRole 分配給用戶。

在此處輸入圖像描述

在此處輸入圖像描述

另外,千萬不要嘗試使用ms graph api的token來調用你自定義的api。 這是兩個完全不同的api資源,不同的api資源需要申請不同的token!

暫無
暫無

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

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