Keycloak应用程序与客户端身份验证

时间:2019-05-22 02:46:06

标签: keycloak keycloak-gatekeeper

您好,我对如何通过密钥斗篷保护应用程序感到困惑,该网站显示了如何保护客户端。我需要在安装程序中保护的应用程序是一个使用keycloak + keycloak-gatekeeper保护的端点的桌面应用程序。

我设法使用python中的以下库使其工作

https://bitbucket.org/agriness/python-keycloak/src/master/

但是,这要求我输入客户端密码,我想知道这是否安全吗?

另外,当我改用浏览器登录名时,浏览器不需要客户端密码,而是通过网守,这告诉我在这里做错了。

谢谢

2 个答案:

答案 0 :(得分:0)

使用公共访问类型客户端(Clients doc):

  

公共访问类型适用于需要执行浏览器登录的客户端。使用客户端应用程序无法保持机密安全。相反,通过为客户端配置正确的重定向URI来限制访问非常重要。

您可以在clients-choose client-settings tab管理界面上更改访问类型。

答案 1 :(得分:0)

keycloak client

在您的情况下,我会将访问类型用作机密 并在

上启用授权>

并且当您想与keycloak API进行交互时,应该使用保密密钥授权对锁的调用

Keycloak keycloak = KeycloakBuilder.builder()
                .serverUrl("localhost")
                .realm("myRealm")
                .grantType(OAuth2Constants.PASSWORD)
                .clientId("myclient")
                .clientSecret("xxxx-xxxxx-xxxx-xxx")
                .username("foo")//the admin user
                .password("password")
                .build();
keycloak.realm("myRealm").users().list();