嗨,我对如何通过keycloak保护应用程序有点困惑,该网站展示了如何保护客户端。我需要在我的设置中保护的应用程序是一个桌面应用程序,它使用keycloak + keycloak-gatekeeper保护的端点。
我使用python中的以下库设法使其正常工作
https://bitbucket.org/agriness/python-keycloak/src/master/
然而,它要求我输入客户端秘密,我想知道这是否安全?
此外,当我使用浏览器登录时,浏览器不需要客户端密码,而是通过gatekeeper,这表明我在做一些错误的事情。
谢谢
发布于 2019-05-23 04:52:41
使用公共访问类型客户端(Clients doc):
公共访问类型适用于需要执行浏览器登录的客户端客户端。对于客户端应用程序,没有办法保证秘密的安全。相反,通过为客户端配置正确的重定向URI来限制访问非常重要。
您可以在clients - choose client - settings tab管理界面上更改访问类型。
发布于 2019-05-30 08:29:38

在您的示例中,我会将访问类型设置为机密,并启用授权> 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();https://stackoverflow.com/questions/56248617
复制相似问题