2017-06-19 49 views
0

我正在使用OpenIDIdentityProvidermappingMethod: claim在Openshift管理控制檯中對管理員用戶進行身份驗證。我正在使用auth0服務來驗證用戶身份。管理員用戶被定義在一個關於部署的完整的操作手冊中,有效地使管理員用戶被硬編碼。帶查找映射方法的Openshift開放式ID身份提供程序

是否有可能完全管理使用OpenIDIdentityProvider所有管理員和開發者用戶,一個lookup映射方法和添加類似extraScopes: [roles]通過額外的授權角色拉進認證請求?這將使我能夠完全管理用戶和角色,與完美的劇本完全分開。 用於管理身份驗證提供程序端權限的下一級獎勵分數。

Openshift文檔在默認mappingMethod: claim以外的認證/授權細節非常輕。

下面是索賠爲基礎的繪圖方法,我的身份提供JSON文件:

{ 
    "items": [ 
    { 
     "name": "auth0", 
     "challenge": false, 
     "login": true, 
     "mappingMethod": "claim", 
     "kind": "OpenIDIdentityProvider", 
     "clientID": "supersecretsauce", 
     "clientSecret": "extrasupersecretsauce", 
     "extraScopes": ["email", "profile"], 
     "claims": { 
     "id": [ 
      "email" 
     ], 
     "preferredUsername": [ 
      "email" 
     ], 
     "name": [ 
      "name" 
     ], 
     "email": [ 
      "email" 
     ] 
     }, 
     "urls": { 
     "authorize": "https://fancypants.auth0.com/authorize", 
     "token": "https://fancypants.auth0.com/oauth/token", 
     "userInfo": "https://fancypants.auth0.com/userinfo" 
     } 
    } 
    ] 
} 

要我簡單的頭腦以下就足夠了工作基礎查找映射方法與身份驗證提供者返回的角色:

{ 
    "items": [ 
    { 
     "name": "auth0", 
     "challenge": false, 
     "login": true, 
     "mappingMethod": "lookup", 
     "kind": "OpenIDIdentityProvider", 
     "clientID": "supersecretsauce", 
     "clientSecret": "extrasupersecretsauce", 
     "extraScopes": ["email", "profile", "roles"], 
     "claims": { 
     "id": [ 
      "email" 
     ], 
     "preferredUsername": [ 
      "email" 
     ], 
     "name": [ 
      "name" 
     ], 
     "email": [ 
      "email" 
     ], 
     "role": [ 
      "roles" 
     ] 
     }, 
     "urls": { 
     "authorize": "https://fancypants.auth0.com/authorize", 
     "token": "https://fancypants.auth0.com/oauth/token", 
     "userInfo": "https://fancypants.auth0.com/userinfo" 
     } 
    } 
    ] 
} 

一個功能角色值的例子是cluster-admin

回答

1

OpenID只能用於身份驗證。您正試圖將其用於身份驗證和授權。這是不可能的,因爲角色和綁定由Openshift管理 - 它們不能委派給外部服務。

+0

感謝您的反饋,我收集了很多,當我偶然發現此功能請求https://trello.com/c/8olzeZH3 – Brown1

+0

@ Brown1該卡仍然只處理身份驗證(組成員資格)。您仍然必須將角色綁定到Openshift中的組。 – enj

+0

因此openshift無法接受身份驗證令牌中返回的角色?例如,如果標記包含已命名爲與openshift中的角色和組匹配的角色和組,openshift將不接受這些角色和組。因爲這是意圖,請使用openshift中已定義的角色和組,將它們添加到auth網關端的用戶,並使用該標記返回這些角色和組。 – Brown1

相關問題