我正在使用OpenIDIdentityProvider
和mappingMethod: 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
。
感謝您的反饋,我收集了很多,當我偶然發現此功能請求https://trello.com/c/8olzeZH3 – Brown1
@ Brown1該卡仍然只處理身份驗證(組成員資格)。您仍然必須將角色綁定到Openshift中的組。 – enj
因此openshift無法接受身份驗證令牌中返回的角色?例如,如果標記包含已命名爲與openshift中的角色和組匹配的角色和組,openshift將不接受這些角色和組。因爲這是意圖,請使用openshift中已定義的角色和組,將它們添加到auth網關端的用戶,並使用該標記返回這些角色和組。 – Brown1