18
2023
04
14:25:40

keycloak



推荐点击下面图片,通过本站淘宝优惠价购买:

image.png

一、什么是 keycloak

keycloak是一个开源的进行身份认证和访问控制的软件。是由Red Hat基金会开发的,我们可以使用keycloak方便的向应用程序和安全服务添加身份认证,非常的方便。基于 Java 开发,支持多种数据库。

主要功能:

SSO

单点登录(Single-Sign On),支持 OpenID Connect、OAuth 2.0、SAML 2.0 标准协议。

Identity Brokering and Social Login

通过配置,可实现对不同身份认证服务的集成,通过这些身份认证服务登录应用。如 GitHub、Google 等,开源社区也有人提供了微信集成方案。

User Federation

用户联合,提供了对 LDAP、Active Directory、Kerberos 的集成方案。

Client Adapters

不同平台多种语言的支持,Java、Python、Go、Node.js、Spring、Quarkus 等。

后台管理

提供了多种语言的后台管理界面,如果想偷懒的话改改图标定制个主题就能拿来用。同时还有 CLI 、SDK 和 RESTful API。

授权服务

提供基于 RBAC、ABAC、UBAC 等多种策略的授权功能。

其他常用功能

密码策略、暴力检测、MFA、日志审计。

为什么选他:

Redhat 开源,稳定质量可靠,一直在演进和更新。

易开发易扩展,相对 CAS。

功能丰富易用,如果只是要一个简单的 IAM,几乎是开箱即用。

标准实现,易集成,大厂背书。Kubernetes、Grafana、Kibana、Rancher、Vault、Harbor、Jenkins、Activiti 等等天然支持。

缺点:

没进 CNCF,基于 Wildfly 框架,个人感觉挺重,并不适合云原生。Keycloak 官方应该也是意识到这个问题,正在往 Quarkus 转变。

中文并不友好,这也是为啥有 IDaaS Book 这个项目。


红帽 redhat 单点登录

中文文档:https://keycloak.org.cn/documentation.htm

1、下载安装包

https://www.keycloak.org/getting-started/getting-started-zip

2、

首次登录可以创建账号,很友好。

Admin / 1234 

image.png

3、创建自己的领域/应用my-realm001


b556934d43d6700c958479a8ef496ecb_13984834-c5c88df5472c6530.png

4、创建成功 my-realm001 之后,切换到 my-realm001 

给 my-realm001空间创建一个用户

可以给新增的用户设置密码,在 Credentials菜单。

Temporary :是临时用户,用户首次登录之后会通知修改密码。


f2fb119177d4f6918d6f46f49e36cd05_13984834-98c7abedd570c3b2.pngimage.png

image.png



5、用新创建的用户登录 my-realm001  空间。

链接:http://localhost:8080/realms/my-realm001/account/#/personal-info

  注意url链接中的空间名称。

image.png

6、测试登录

Keycloak网站上有一个SPA测试应用程序。

打开https://www.keycloak.org/app/,单击Save,使用默认配置。

现在,您可以单击Sign in,使用前面启动的Keycloak服务器对该应用程序进行身份验证。

测试链接https://www.keycloak.org/app/空间修改为自己的创建的空间名称。

测试登录效果

https://www.keycloak.org/app/#url=http://localhost:8080&realm=my-realm001&client=myclient


034f2ef0b72e713626e74913c61f64ed_13984834-9cfdef747356b808.png

本文链接:https://www.hqyman.cn/post/3911.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:





休息一下,本站随机推荐观看栏目:


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

您的IP地址是: