簡體   English   中英

如何獲取Azure ID令牌以用於webapi中的授權?

[英]How to fetch Azure ID Token to use for authorization within webapi?

我們將要在Azure中運行D365 CRM,現在我們試圖找出如何授權對我們的onprem api的調用。

該場景被簡化為類似; 用戶正在D365 CRM中保存注釋,並且當發生這種情況時,我們還希望調用onprem api。

我們要使用Azure ID令牌(具體來說是NOT Access令牌)進行呼叫。 這是在訪問api時授權用戶。

是否可以獲取ID令牌並隨呼叫一起發送? 到目前為止,我們僅設法獲取了不夠好的訪問令牌。 我們應該如何檢索ID令牌?

您正在混合OAuth / OpenID Connect的基本概念。 調用API時必須使用access_token id_token的目的不是在API中做出授權決定,而是在Client App中獲取有關用戶的基本信息。

您可以在此處找到關於該主題非常好的公式化和緊湊的文章

當您擁有access_token且該access_token正確時,它包含您需要的所有信息:

  • 哪個是調用應用程序
  • 是代理最終用戶
  • 授予哪些授權(應用程序角色或范圍)

可以使用API​​后端的Microsoft Graph獲得任何其他信息(可能是id_token的一部分)。

以下是一些有用的參考資料:

請注意兩種令牌類型中的聲明引用。

暫無
暫無

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

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