2017-09-03 77 views
0

我是.Net核心WebAPI認證的新手。我發現OpenIddict是一種易於使用的認證服務,但在開始使用之前,我注意到GitHub中有不同認證流程的示例。我無法找到任何有關這些身份驗證流程的文檔,所以下面的問題就會浮現在腦海中。欣賞是否有人能夠提供有關該領域的見解。 GitHub的網址:https://github.com/openiddict/openiddict-core爲什麼在OpenIddict中有很多驗證流程?

  1. 爲什麼有不同的流量..使用哪一個?我猜測每個流程都適合不同的應用性質,如果是的話,

    a。每個流程的優缺點是什麼?

    b。是否有任何最佳實踐或指導原則有助於確定適合該特定應用的正確選項(認證流程)?

在此先感謝。

回答

2

爲什麼有不同的流量..哪一個使用?

OpenIddict是一個OAuth2/OpenID Connect服務器。因此,它實現了由這兩個規範定義的所有經典核心流程。

當你想通了,每個流程都有不同的使用情況:

  • 當一個無頭的客戶端應用程序需要訪問自己的資源,客戶端證書授予使用。這個流程中沒有用戶參與,這基本上是服務器到服務器的情況。

  • 資源所有者密碼憑據授予是最簡單的OAuth2流程:客戶端應用程序發送的用戶名和用戶密碼令牌請求,並將其回來的訪問令牌。此流程有時被視爲「傳統」流程,不能由您自己管理的第三方應用程序使用(因爲它是客戶端知道用戶憑據的唯一流程)。

  • 代碼流是使用重定向並允許創建同意頁面,用戶可以決定是否要授予客戶端應用程序的訪問而沒有與大家分享他的證書是最複雜的OAuth2/ID連接流應用程序。

  • 隱式流程是一個簡化的代碼流,用於基於瀏覽器的應用程序。

欲瞭解更多信息,你可以閱讀這篇博文:http://kevinchalet.com/2016/07/13/creating-your-own-openid-connect-server-with-asos-choosing-the-right-flows/

相關問題