Keycloak【学习记录】

目录

Keycloak

Keycloak:是针对现代应用程序和服务的开源身份和访问管理解决方案。

目标简化安全性,使用很少甚至没有代码即可轻松保护应用程序和服务的安全。开箱即用地提供了开发人员通常必须为自己编写的安全功能,可以轻松地针对组织的个性化需求进行定制。

提供的服务

  • 可自定义的用户界面,用于登录,注册,管理和帐户管理
  • 和LDAP和Active Directory服务器做集成
  • 将身份验证委派给第三方身份提供商,例如Facebook和Google

登录方面

单点登录

用户通过 Keycloak 进行身份验证。我们自身的应用程序不必处理登录表单,认证用户和存储用户。登录Keycloak后,用户无需再次登录即可访问其他应用程序。
Keycloak 提供单点注销,这意味着用户只需注销一次即可注销所有使用 Keycloak 的应用程序。

第三方授权

通过管理控制台轻松添加启用社交网络登录的功能。只需选择要添加的社交网络即可。无需代码或更改应用程序。

在这里插入图片描述

  • Bitbucket
  • Facebook
  • GitHub
  • GitLab
  • Google
  • LinkedIn
  • Microsoft
  • OpenShift 3
  • OpenShift 4
  • PayPal
  • Stack Overflow
  • Twitter
  • Instagram

LDAP & AD & Cluster

Keycloak 具有内置支持,可以连接到现有LDAPActive 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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值