2017-05-16 47 views

回答

2

你應該遵循「 - 代表 - 的」流動與交換您的令牌:

client = website and resource = API 1

client = API 1 and Resource = API 2

的令牌瞭解更多關於這個here

如果Web API需要調用另一個下游Web API,它可以使用代表流來委派用戶的身份並向第二層Web API進行身份驗證。

委託用戶身份使用OAuth 2.0所代理人規範草案

下面討論的流程假定一個用戶已被認證的另一個應用程序(例如,本地應用) ,並且他們的用戶身份已被用於獲取第一層Web API的訪問令牌。

  1. 本地應用程序將訪問令牌發送到第一層web API。
  2. 第一層web API向Azure AD的令牌端點發送請求,提供其應用程序ID和憑證以及用戶的訪問令牌。此外,該請求會通過on_behalf_of參數發送,該參數表示Web API正在請求新令牌代表原始用戶調用下游Web API。
  3. Azure AD驗證第一層Web API是否有權訪問第二層Web API並驗證請求,並將JWT訪問令牌和JWT刷新令牌返回給第一層Web API。
  4. 通過HTTPS,第一層Web API通過在請求中的授權標頭中附加標記字符串來調用第二層Web API。只要訪問令牌和刷新令牌有效,第一層Web API就可以繼續調用第二層Web API。

整合此流程的樣本可以找到here

相關問題