2016-12-03 77 views
2

我正在構建一個使用微服務架構的新應用程序平臺,但我一直在閱讀關於使用不同類型的身份驗證/授權的重要信息。微服務OAuth2/OpenID連接流

我正在爲OAuth2/OpenID Connect着想,但只是爲了確保我的假設是正確的。

我想知道我的流程是否正確處理我的應用程序的認證/授權。其次,對於我信任的應用,如何防止OAuth詢問用戶的同意?

enter image description here

回答

3

在協議/標準方面,使用OAuth 2.0和OpenID連接會像你所描述的一個系統,是一個正確的決定。他們正在積極使用,有大量的圖書館和第三方提供商支持,他們的設計也考慮到當今系統展現出對HTTP的過分依賴。

在選擇每個應用程序的正確流程的方面,決定不受應用程序被視爲第三方或可信應用程序的影響;它更多的是關於應用程序的部署特性,以及應用程序是否想要代表最終用戶或代表應用程序本身訪問資源。

查看Auth0 - Which OAuth 2.0 flow should I use?可以很好地說明這個決策過程。

第三方應用程序和受信任的應用程序的區別由身份提供者/授權服務器決定。通常支持這種做法,因此如果應用程序是可信的,則不會向最終用戶明確詢問同意;在這些情況下,標記應用程序以跳過最終用戶的同意被視爲管理步驟,其中某人單方面和行政上決定同意授予此應用程序,因此無需向最終用戶請求。

如果確實決定支持某些應用程序的行政許可,請記住,如果這些應用程序的特徵不允許它們成爲機密客戶端(支持安全機制來驗證客戶端應用程序本身),或者擁有一些其他方式確保客戶身份然後惡意應用程序可能會嘗試僞造可信應用程序,以跳過用戶同意步驟