2017-07-12 73 views
1

設置爲:我們有我們的用戶。我們的認證平臺(授權服務器)。和兩個不同的資源。代碼授權流程在我們的設置中使用。OpenID連接嵌入式資源

現在資源A在資源B的頁面中嵌入資源(類似於iFrame)。現在我們想要完成的是,一旦用戶被授權使用資源A,他將會透明地從資源B訪問嵌入式資源。

這可能嗎?如果是這樣如何?

回答

1

如果授權服務器支持單點登錄(SSO),則嵌入式頁面可以獲取其令牌,而無需用戶輸入其憑據。具體的步驟是這樣的:

  1. 用戶請求資源共享的
  2. 資源A的用戶重定向到的OAuth2服務器,以獲得令牌
  3. 的OAuth2用戶服務器用戶(通過瀏覽器cookie識別創建會話)
  4. 用戶通過身份驗證並被重定向到資源A頁面
  5. 資源A頁面請求資源B頁面,所以資源B轉到點2,但點4被跳過,因爲OAuth2服務器已經具有爲用戶提供一個會話,並且不要求真實性再也不用擔心了。

或者如果您的應用程序不需要access_tokens,只需標識令牌,就可以將其從資源A傳遞到資源B(例如作爲URL參數)。在這種情況下,ID令牌在其aud(受衆)參數中應包含兩個客戶端(資源A和B)。

+0

我們對不同的應用程序使用角色,這些應用程序在應用程序端確定用戶是否具有身份驗證。因此,OAuth2服務器僅適用於粗糙的迷宮(抱歉翻譯不好)認證。雖然通過的角色是在應用服務器上進行精細的身份驗證。現在傳遞身份標識只有在應用程序A的過程中還包含應用程序B的角色信息時纔會起作用。在您的第一個過程中。但是,是的,在cookie中進行會話時,這基本上與我假設的SAML一起工作。我會檢查一下 – Spyral