0

嗨,我对如何通过 keycloak 保护应用程序有点困惑,该网站显示了如何保护客户端。我需要在我的设置中保护的应用程序是一个桌面应用程序,它使用 keycloak + keycloak-gatekeeper 保护端点。

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

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

但是,它需要我输入客户密码,我想知道这是否安全?

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

谢谢

4

2 回答 2

0

密钥斗篷客户端

在您的情况下,我会将访问类型用作机密并启用授权> on

当您想与 keycloak API 交互时,您应该使用保密密钥来授权您对 keylock 的调用

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();
于 2019-05-30T00:29:37.983 回答
0

使用公共访问类型客户端(客户端文档):

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

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

于 2019-05-22T20:52:41.287 回答