您好,我对如何通过密钥斗篷保护应用程序感到困惑,该网站显示了如何保护客户端。我需要在安装程序中保护的应用程序是一个使用keycloak + keycloak-gatekeeper保护的端点的桌面应用程序。
我设法使用python中的以下库使其工作
https://bitbucket.org/agriness/python-keycloak/src/master/
但是,这要求我输入客户端密码,我想知道这是否安全吗?
另外,当我改用浏览器登录名时,浏览器不需要客户端密码,而是通过网守,这告诉我在这里做错了。
谢谢
答案 0 :(得分:0)
使用公共访问类型客户端(Clients doc):
公共访问类型适用于需要执行浏览器登录的客户端。使用客户端应用程序无法保持机密安全。相反,通过为客户端配置正确的重定向URI来限制访问非常重要。
您可以在clients
-choose client
-settings tab
管理界面上更改访问类型。
答案 1 :(得分:0)
在您的情况下,我会将访问类型用作机密 并在
上启用授权>并且当您想与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();