USC安防平台-SSO之Keycloak

USC 支持基于Oauth2 的SSO认证,支持基于自定义的Claim name 关联角色,可以方便的管理用户权限。

    1. keycloak下载、运行

下载链接:Downloads - Keycloak

启动keycloak 到解压后keycloak-26.2.5\bin文件夹下输入CMD,然后输入kc.bat start-dev

    1. Keycloak配置方法

USC软件外部IDP 供应商为Keycloak时配置生效

访问Keycloak web默认使用http://localhost:8080访问。初次访问Keycloak会要求创建管理员账号进行初始化。

登录成功之后开始创建realm进入Manage realms点击Create realm配置完成后点击Create。

USC软件中外部IDP的认证地址为http://10.168.1.109:8080/realms/usc-sso-realm/protocol/openid-connect IP端口换成Keycloak的地址realms/.../protocol/openid-connect 中间省略部分就是上面创建的Reaml name

选择Clients点击Create client

输入Client ID之后一直点击Next。(下次进入的时候需要先选择之前创建的realms才能找到)进入刚刚创建的应用按照下图配置

Valid redirect URIs 为登录重定向地址 需要和USC软件中外部IDP的登录重定向地址一致

Valid post logout redirect URIs为登出重定向地址 需要和USC软件中外部IDP的登出重定向地址一致

USC软件中外部IDP的Client ID就是当前页面的Client ID

USC软件中外部IDP的Client Secret在Credentials页面,可以点击复制按钮复制下来。

创建用户进入Users点击Create new user

进入刚刚创建的用户设置密码

创建的用户需要和USC软件中的角色做一个对应配置。在USC软件中外部IDP配置页面可以看到有一个Claim name属性,Claim name属性的值需要定义成Keycloak用户信息中的某一个属性(注意是属性不是值),登录的时候就会找和这个属性做对应的角色,作为当前账号的角色。目前只能用First name和Last name其他属性的值获取不到。First name对应的属性是given_name,Last name对应的属性是family_name

具体操作:

外部IDP配置(以用户First name最为映射关系):

在USC软件中进入配置->基本->角色,添加角色或者选用现有的角色点击外部IDP配置,配置角色对应关系。先选择External IDP列表,Claim value需要和上图对应的External IDP配置中的Claim name的值在Keycloak用户信息中对应的值一致。例如:上图对应的External IDP配置中Claim name的值是given_name在Keycloak用户信息中given_name对应的的值是role1。 那么在角色的外部IDP配置中的Claim value的值就是role1。

配置完毕后登陆的时候就会校验 Keycloak用户信息中的姓名和角色中的外部IDP配置的Claim value值如果相等就匹配成功,登录usc的当前帐号的角色就是匹配中的角色

详细可以参考

USC安防平台-SSO之Keycloak_哔哩哔哩_bilibili

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值