目录
Keycloak
Keycloak:是针对现代应用程序和服务的开源身份和访问管理解决方案。
目标:简化安全性,使用很少甚至没有代码即可轻松保护应用程序和服务的安全。开箱即用地提供了开发人员通常必须为自己编写的安全功能,可以轻松地针对组织的个性化需求进行定制。
提供的服务:
- 可自定义的用户界面,用于登录,注册,管理和帐户管理
- 和LDAP和Active Directory服务器做集成
- 将身份验证委派给第三方身份提供商,例如Facebook和Google
登录方面
单点登录
用户通过 Keycloak 进行身份验证。我们自身的应用程序不必处理登录表单,认证用户和存储用户。登录Keycloak后,用户无需再次登录即可访问其他应用程序。
Keycloak 提供单点注销,这意味着用户只需注销一次即可注销所有使用 Keycloak 的应用程序。
第三方授权
通过管理控制台轻松添加启用社交网络登录的功能。只需选择要添加的社交网络即可。无需代码或更改应用程序。
- Bitbucket
- GitHub
- GitLab
- Microsoft
- OpenShift 3
- OpenShift 4
- PayPal
- Stack Overflow
LDAP & AD & Cluster
Keycloak 具有内置支持,可以连接到现有LDAP或Active Directory服务器。如果您在其他数据库(例如关系数据库)中有用户信息,则也可以实现自己的提供程序。
Keycloak 有内置存储用户信息的库,但是我们可以通过配置自己的数据库,将用户信息共享给其他的服务端。
支持的平台
- Windows
- Docker
- Podman
- Kubernetes
- Openshift
集成
Realm(领域)
管理方面
主控室
管理员可以通过管理控制台集中管理Keycloak服务器的各个方面。
- 启用和禁用各种功能。他们可以配置身份代理和用户联合。
- 创建和管理应用程序和服务,并定义细粒度的授权策略
- 管理用户,包括权限和session
帐户管理控制台
通过帐户管理控制台
- 管理自己的帐户
- 更新配置文件
- 更改密码和设置身份验证
- 管理会话以及查看帐户的历史记录
- 如果启用了社交登录或身份代理,则用户还可以将其帐户与其他提供程序链接,以允许他们通过不同的身份提供程序向同一帐户进行身份验证
更换密码
Session管理
登录界面
登录界面上想要的一些常见的功能:忘记密码、多语言、记住密码、用邮箱代替用户名登录。这些功能都能通过主控制室调整,而不需要改动代码。
同时登录界面的UI也是支持更改的。
除了UI控制以外,Keycloak 也支持CLI & RESTFul API 两种方式进行管理。
Authentication
Flows
身份验证流是在登录,注册和其他Keycloak工作流程期间必须进行的所有身份验证。
拿注册作为例子,Keyloak 有默认的身份验证流。假如想要自定义这些校验的flow,是可以自行定义和替换的。
密码规则
- 哈希算法
密码不以明文形式存储。而是在存储或验证它们之前使用标准哈希算法对它们进行哈希处理。唯一可用的内置和默认算法是PBKDF2。 - 散列迭代
此值指定密码在存储或验证之前被哈希的次数。默认值为27,500。 - 数字位数
密码字符串中必须包含的数字位数。 - 小写字母的位数
密码字符串中必须包含小写字母的数量。 - 大写字母的位数
密码字符串中必须包含大写字母的数量。 - 特殊字符
密码字符串中必须包含特殊字符的数量,例如’?!#%$’ - 密码与用户名不能一样
- 正则表达式
定义的密码要符合正则表达式 - 过期密码
密码有效的天数。天数到期后,要求用户更改密码。 - 近期未使用
此策略保存以前的密码的历史记录。存储的旧密码数量是可配置的。用户更改密码后,他们将无法使用任何旧的密码。 - 密码黑名单
OTP(One Time Password)
Keyloack 除了固定密码外,还可以使用OTP,每次在手机上获取一次性密码进行二次登陆。
用户第一次登陆校验
优缺点
优点
- 功能很多,常用到的基本上都覆盖了
- 安装简单,Windows版本只需要解压即可使用
- 减少了大量的代码开发
- 动态修改配置,不需要改代码
不足
- 官网文档中涉及代码的例子很少,且不全。
- 目前相关资料不多
- 使用人数、社区活跃度不高
参考资料
Keycloak官网
springboot整合keycloak -> 入门学习
keycloak-quickstarts
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/77896.html