【问题标题】:Keycloak :REST API call to get access token of a user through admin username and passwordKeycloak :REST API 调用通过管理员用户名和密码获取用户的访问令牌
【发布时间】:2020-10-22 07:02:46
【问题描述】:

我有一个要求,我需要获取用户的访问令牌。

我知道管理员用户名和密码,因此可以获得管理员的访问令牌。

是否有任何其他 API 可以为使用上述数据的用户提供访问令牌?

【问题讨论】:

    标签: keycloak keycloak-rest-api


    【解决方案1】:

    有两种获取访问令牌的方法。一个带有 Rest 客户端(keycloak Rest API),另一个通过 java keycloak-admin-client 库。

    1. Keycloak Rest API:
    
    URI: http://keycloak:8080/auth/realms/myrealm/protocol/openid-connect/token
    Type: POST
    Content-Type: application/x-www-form-urlencoded
    grant_type:password
    username:user
    password:user_password
    client_id:client_id
    secret_id:client_secret
    
    2. Keycloak admin client (JAVA)
    
    Keycloak instance = Keycloak.getInstance("http://keycloak:8080/auth", "myrealm", "user", "user_password","client_id", "client_secret");                                                                                                      
    TokenManager tokenmanager = instance.tokenManager();
    String accessToken = tokenmanager.getAccessTokenString();
    

    【讨论】:

    • 我们可以不使用用户密码,因为我们有管理员凭据吗?
    猜你喜欢
    • 2018-07-09
    • 1970-01-01
    • 2020-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-07
    • 2015-09-15
    • 2018-01-05
    相关资源
    最近更新 更多