#keycloak
ape用户部署流程:https://wiki.ispeco.com/pages/viewpage.action?pageId=87916983
iportal 10i的产品包下载:http://ci.ispeco.com:90/buildConfiguration/IServerJavaBranches_ApeBranch_5Distribute_IPortal_52DistributeDeploysIPortalWin64
##一、Docker安装keycloak安装
1. docker search keycloak
2. docker pull jboss/keycloak:4.0.0.Final
3. docker run -di --name=keycloak -p 8180:8080 -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=123456 docker.io/jboss/keycloak:4.0.0.Final
4. http://localhost:8080/auth/ my:http://39.100.90.131:8180/auth/注意:使用外网需要配置值https##二、keycloak配置
###1.Administration Console 登录

###2.中文设置

1. 在右侧页面选择“Themes”选项卡,
“Login Theme”项、“Account Theme”项、“Admin Console Theme”项、“Email Theme”项全部选择“keycloak”,
“Internationalization Enabled”项选择“ON”,开启国际化,
“Default Locale”选择“zh-CN”,最后点击“Save”按钮。
2. 管理员登出,在 Keycloak 的登录页面会显示语言切换项,选择“中文简体”,登录 Keycloak###3.添加域

鼠标移动到左侧导航栏 Master 域名上,在下拉按钮中点击“添加域”,
注意:域和域之间的资源(包括用户、角色、客户端等一切信息)是相互隔离的。###4.添加客户端
####1.创建

“客户端 ID”:可以随意命名 , 注意: 与iServer/iPortal/iEdge 中的Keycloak 登录配置”的“客户端 ID”一致
“客户端协议”:选择默认的 openid-connect。
点击保存####2.配置

“有效的重定向 URL”是填写 Keycloak 所允许的哪些应用(业务)系统(URL)能够使用 Keycloak 的认证授权服务,支持填写多个,填写格式建议为:服务根地址后面加上/*号。
注意: *****最后点击“保存”按钮****。####3.凭借

96c30931-f1b3-4d7f-b0a0-e08139bf2fca
注意: 与在 SuperMap iServer/iPortal/iEdge 中的“Keycloak 登录配置”的“客户端密钥”一致####4.Mappers

###5.角色

6.用户
####1.用户创建

####2.凭借

注意: 点击重置密码,临时关掉####3.角色映射

就是把自定义的角色分配给用户, 注意:与在 SuperMap iServer/iPortal/iEdge 中的“Keycloak 登录配置”的角色一致##三、iPortal关联
启动:localhost:8190
###1.修改 iportal 的 shiro.ini
启动后更改
loginCallbackLogic = com.supermap.services.security.LoginCallbackLogic
替换成
loginCallbackLogic = com.supermap.iportal.security.CustomAPEUserLogic
为了切换成keycloak登录
http://localhost:8190/iportal/web-ui/home 新版的10i
注意:要用kc登录需要切换旧版 http://localhost:8190/iportal/web/home###2.角色关联
1. kc用户有KC_ APE_USER(KC为前缀)角色, 映射iPortal的APE_USER角色
iPortal keycloak
APE_USER(自定义) KC_APE_USER
USER(系统) KC_USER
关联两边的角色,可以使kc的用户登录iPortal
2.管理员登录后,分配角色,关联角色###3.kc登录与iPortal关联

1. 是否启用:勾选,启用 Keycloak。
2. Keycloak根地址:输入 Keycloak 地址,例如:http://192.168.120.40:8180/auth。
3. Keycloak域:输入在 Keycloak 中使用的域名称,默认域名为 Master,如果您在 Keycloak 中添加了新域,填写新域名即可,例如:ispeco。
4. 客户端ID:输入在 Keycloak 中创建客户端时添加的客户端ID,例如:ispeco-oidc。
5. 客户端密钥:输入在 Keycloak 中创建客户端时生成的客户端密钥,例如:334322d9-45d2-45e9-8e49-156f188ef0f4。
6. 保存配置:点击保存配置按钮,完成以上配置。###4.kc与iPortal角色关联

说明:kc下有一个用户 , 拥有 KC_APE_USER,KC_USER的角色
关联KC_APE_USER,KC_USER 与 APE_USER和 USER_PORTAL,USER###5.启动
1. 启动iPortal: http://localhost:8190/
2. 启动keycloak: http://localhost:8080/auth
3. iportal管理页面: http://localhost:8190/iportal/web-ui/home
4. keycloak登录iportal地址:http://localhost:8190/iportal/web/home 再点登陆
注意:记得退出管理员账号