Skip to content

#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    再点登陆         	  
	注意:记得退出管理员账号