1,去官方下载支持python gatekeeper的版本,注意最后一版是12.0.4.下载地址:Keycloak - Downloads 12.0
2,根据需要配置数据库,这个数据库配置在standalone.xml中,参考文件:Server Installation and Configuration Guide
3,配置gatekeeper:参考路径是:Securing Applications and Services Guide
4,安装好后,记住使用在keycloak的安装bin 文件中,找到add-user-keycloak.sh,添加超级用户admin和密码。eg:bin/add-user-keycloak.sh --user admin --password secret
5,关键的是配置keycloak:这个比较麻烦,参考文件:Server Administration Guide其中的文件基本都需要了解一下。简单的配置流程:
- 创建realm
- 选择endpoints:openid endpoint configuration
- login:注意选择reqire ssl: external requests
- keys中会默认生成
- Themes中,均选择keycloak,internationlization:选择on;supported locales:zh-CN,default local:zh-cn
- tokens: 默认的签名是RS256,其他可以不选,保存就好
- client Rergistration: 创建一个initial access tokens就好
- 创建client
- 在clients中创建一个client
- 注意client protocol :openid-connect; access type:confidential
- credentials:中选择cient id and secret: 点击regenerate secret,这个在gatekeeper中配置的时候,写在配置文件中
- Roles:创建角色
- 其他的暂时不选
- client scopes:(重点)
-
Configure audience in Keycloak
- Add realm or configure existing
- Add client my-app or use existing
- Goto to the newly added "Client Scopes" menu [1]
- Add Client scope 'good-service'
- Within the settings of the 'good-service' goto Mappers tab
- Create Protocol Mapper 'my-app-audience'
- Name: my-app-audience
- Choose Mapper type: Audience
- Included Client Audience: my-app
- Add to access token: on
- Configure client my-app in the "Clients" menu
- Client Scopes tab in my-app settings
- Add available client scopes "good-service" to assigned default client scopes
- identity providers:这个可以根据需要选择一个简单的,参考:Server Administration Guide
- users,创建user,选择好需要的角色就好,注意密码设置。其他 不难。