配置使用Keycloak进行认证授权

发送反馈


Keycloak 简介

Keycloak 是为现代应用系统和服务提供开源的鉴权和授权访问控制管理。Keycloak 实现了 OpenID、OAuth2.0、SAML 单点登录协议,同时提供 LDAP 和 Active Directory 以及 OpenID Connect、SAML2.0 IdPs、Github、Google 等第三方登录适配功能,能够做到非常简单的开箱即用。

为什么使用 Keycloak?

SuperMap iServer、SuperMap iPortal、SuperMap iEdge 分别对接 Keycloak 后,可实现以下能力:

配置使用 Keycloak

关于 Keycloak 的安装与配置请参见:Keycloak 安装与配置。下面具体为您介绍如何在 SuperMap iServer/iPortal/iEdge 中对接 Keycloak,以 SuperMap iPortal 为例:

以 iPortal 管理员的身份登录 iPortal 门户首页,依次点击“管理”>"安全">“Keycloak 登录配置”:

步骤一:Keycloak 登录配置

步骤二:属性角色关联信息配置

接下来,还需进行“属性角色关联信息配置”,即 iPortal 中的角色与 Keycloak 中的角色映射关系。系统内置了一些角色映射,您只需在 Keycloak 中添加与属性值相对应的角色名(不带 KC_ 前缀名),就可以直接使用内置的角色映射,添加角色的具体操作请参见:添加角色。您也可以添加新的角色映射,点击“添加角色映射”按钮:

步骤三:Keycloak 客户端登录配置(iServer/iEdge 暂无此配置)

在 iPortal 中,除了完成以上配置外,还需开启步骤一中客户端的 token-exchange 权限,并以 "Client" 作为关联策略,为其关联一个新的客户端,在当前步骤填入的新客户端 ID。

 

以上配置完成后,该管理员账号登出 iPortal,在 iPortal 门户首页点击“登录”按钮,会跳转至 Keycloak 登录页面,使用 Keycloak 账户登录即可。

注意:如果您后续需要对以上配置进行修改,需要重启 iPortal ,方可使用 Keycloak 账户进行登录。

单点登出

在配置使用 Keycloak 后,除可以单点登录外,也可实现单点登出。如当在同一浏览器上登录了多个 iServer 、iEdge 节点时,可在 iServer 或 iEdge 服务器首页点击“退出” 按钮进行单点登出,即可一次退出在该浏览器上登录的所有 iServer、iEdge 节点。