0

因此,我使用Keycloak 3.2.1並將Google添加爲社交登錄提供程序。身份驗證到目前爲止效果很好現在我嘗試嘗試(基於角色的)授權。在第一次登錄時將IDC中的客戶特定角色自動添加到IDP中,並使用keycloak作爲身份代理

所以我登錄(使用js-adapter)並查看了令牌,但沒有映射(如名稱或角色)。 jwt.io只是告訴我:

{ 
    "jti": "8a3584e9-678d-4d5c-b1a1-f5a795d49ecb", 
    "exp": 1507886130, 
    "nbf": 0, 
    "iat": 1507885830, 
    "iss": "http://localhost:8080/auth/realms/social-auth", 
    "aud": "product-app", 
    "sub": "7bd7197c-f9af-4b54-b052-993e52467be1", 
    "typ": "Bearer", 
    "azp": "product-app", 
    "nonce": "87cd2e86-4f26-4371-9c08-9401dad85e45", 
    "auth_time": 1507885830, 
    "session_state": "0102a459-48f8-4b03-9004-7e1efb125f65", 
    "acr": "1", 
    "allowed-origins": [ 
    "http://localhost:8088" 
    ], 
    "resource_access": {} 
} 

keycloak.resourceAccess js適配器的對象是空的。現在,我在管理控制檯中看到用戶,並且可以手動將客戶角色添加到他。然後,按照預期,它們將作爲關鍵產品應用的數組顯示在.resourceAccess中。不過,我想在首次登錄時自動執行此操作。

Like:「用戶使用social-login-provider登錄product-app。登錄時,我會自動將角色附加到他和他的令牌,並將它們返回到js-adapter的resourceAccess中。

因此,對於谷歌作爲身份提供者我激活了「第一個經紀人登錄」 - 在管理員用戶界面流,但我沒有看到任何選擇像「添加clientroles x,y,...到每個用戶映射首次登錄時從身份提供商處獲得「。以某種方式可以做到這一點嗎?遺憾的是,在文檔或者tuts和vids中沒有發現任何東西。

回答

0

在Keycloak的管理控制檯下的菜單項「角色」中,您會看到一個「默認角色」選項卡。您可以在其中選擇要自動分配給新用戶的全局角色和/或客戶端特定角色。

相關問題