2017-05-31 201 views
0

我有一個web應用前端和web api後端都寫在ASP .Net Core 1.1 MVC。我使用Auth0作爲認證服務器,使用「授權碼授權流程」。從web api獲取登錄用戶

因此,用戶登錄 - 即用戶被引導至Auth0的登錄屏幕,如果用戶名和密碼正確,則向Web應用程序發回授權代碼,然後Web應用程序交換訪問令牌,然後用於所有web api調用。

然後,用戶點擊一個鏈接,使網頁應用程序調用web api動作。我的問題是,web api如何知道哪個用戶正在提出請求?或者,也許在用戶成功登錄的時候,Web應用程序應該調用web api中的控制器並告訴它剛剛登錄了哪個用戶?不知道最好的做法是什麼...

謝謝

回答

1

我會的OAuth 2.0規範方面回答。

規格決定了4個角色:

  1. 資源所有者
  2. 資源服務器
  3. 客戶
  4. 授權服務器

在您的上下文:

  1. 資源所有者是最終用戶。
  2. 資源服務器是您的Web API。
  3. 客戶端是您的Web應用程序。
  4. 授權服務器是Auth0。

遵循的步驟:

  1. 你的網絡API應在授權服務器 (https://auth0.com/docs/apis)上註冊。
  2. 您的Web API應該負責驗證 用於請求API的訪問令牌。此訪問令牌包含有關最終用戶/客戶端(https://auth0.com/docs/api-auth/tutorials/verify-access-token)的 的信息。
  3. 您應該在授權請求中包含Web API範圍。
  4. 您應該在Web應用程序中獲取訪問令牌,並將其包含在Web API的HTTP請求中。
+0

謝謝Artem! – user1900799