2016-08-03 356 views
1

我們有這樣一個場景,我們必須與LDAP服務器的Oauth服務LDAP身份驗證

流1的用戶進行身份驗證:

client --> application server --> LDAP server 

在上述流程中,客戶端進入其中涉及到應用服務器和LDAP憑證然後使用python-ldap我們可以直接向用戶進行身份驗證。由於用戶LDAP證書來自應用程序服務器,組織可能因爲顯而易見的原因而不願意這樣的流程。

流程2:

client --> oauth2 --> LDAP server 

的Oauth情景套房最這裏,因爲用戶的認證是基於OAuth的認證和應用服務器不需要知道用戶憑證的責任。

有沒有人遇到這種情況,如果是的話,你是如何處理它的? 是否有任何Oauth客戶端用於LDAP免費和付費?

回答

1

如果您不希望用戶憑證到達應用程序服務器,那麼您需要的是外圍身份驗證。您需要有一個外部身份驗證提供程序(如Oracle Access Manager),它將執行身份驗證並在請求中設置特定的標記。應用程序服務器可以聲明此令牌並讓用戶訪問資源。該模型也支持SSO。

  1. 需要授權訪問的資源在OAM中配置爲受保護的URL。

  2. 當用戶嘗試訪問受保護的資源時,他將被要求提供憑證。

  3. OAM根據LDAP目錄(在OAM中配置)對用戶進行身份驗證。

  4. 該請求中設置了與認證用戶對應的令牌。還設置了SSO Cookie。

  5. 應用程序服務器(Weblogic)可以斷言(驗證)此令牌並讓用戶訪問資源。

注意:Oracle Access Manager也支持oAuth。