概述
Keycloak是开源的身份及访问控制管理软件,提供开箱即用的认证、授权、单点登录、用户管理等功能。本文档的介绍包括应用的安全配置,Keycloak Server管理与运行时配置。
应用的安全配置:主要描述如何使用Keycloak保护应用的安全。
Keycloak Server管理与运行时配置:主要描述如何使用Keycloak管理控制台进行管理与配置。
Keycloak管理控制台的访问地址为http://{IP}:{PORT}/auth/admin。
应用的安全配置
应用是放在Tomcat中的,要想使用Keycloak对应用进行安全配置,一是需要将应用的访问地址注册在Keycloak中并为给应用设置一个唯一的标识,每个受保护的应用都需要作为一个client注册在这里;二是需要Tomcat与Keycloak版本适配
Keycloak支持OpenID Connect和SAML2.0,本文档目前仅描述Java应用中OpenID Connect的使用方法。
Keycloak保护应用的安全,需要Keycloak的Client Adapters,它是平台和框架相关的一些库,本文档目前仅描述如何在Tomcat中安装Keycloak Tomcat Adapter。
一:将应用注册在keycloak设置唯一表示ClientID,为keycloak.json中的resource准备
在左侧菜单中点击“Clients”,在页面上会看到Create按钮
添加Client
在添加客户端界面中,添加相应的内容,其中,Client ID 和 Root URL是必填项。这里的ClientID是填写应用的名称,使用英文字母,这里填写之后在后面配置keycloak.json时对应那里的resource后面的内容。对于InData中的应用,Client ID使用已经配置好的keycloak.json中的“resource”。
Client Protocol选择“openid-connect”。
Root URL填写应用的访问地址,如“http://localhost:8080/myapp”。填写完成后点击“Save”,将保存成功并打开设置页面。