Keycloak概述

这里写自定义目录标题

  • Keycloak概述
  • Single-Sign On
  • Kerberos
  • 社交登录
  • 用户合并
  • 客户端适配
  • 管理控制台
  • 用户管理控制台
  • 标准协议
  • 授权服务
  • Getting Started

Keycloak概述

keycloak是一个开源的,面向现代应用程序和服务的身份认证和访问控制解决方案。它使得应用和服务获得安全性变得容易,写很少的代码甚至零代码。
下面主要对keycloak的部分功能做简要介绍。完整的功能介绍可以参考官方文档

Single-Sign On

使用keycloak验证用户而不是逐个app实现,意味着你的应用不需要处理登录界面,验证用户,存储用户。一旦在keycloak登录,用户访问其他应用将不再需要登录。
这一点同样适用于登出,keycloak提供了单点登出,用户只需要使用keycloak登出一次,其他应用将全部登出。

Kerberos

如果你的用户通过认证工作站授权(例如LDAP和活动目录),他们可以直接登录到keycloak
Keycloak概述_第1张图片

社交登录

通过管理控制台开启社交网络登录很简单,唯一要做的事就是选择一个社交网络,不需要修改你的应用代码。
keycloak也可以使用已有的OpenID Connect或者SAML2.0认证,仍然只是需要在控制台配置。
Keycloak概述_第2张图片

用户合并

keycloak已经内置了LDAP和AD支持。如果你的用户在其他存储中(例如关系数据库),你也可以实现你自己的provider。
Keycloak概述_第3张图片

客户端适配

keycloak客户端适配器使应用和服务获得安全性变得相当简单。keycloak提供了许多平台和变成语言的客户端适配器,但是如果仍然没有合适你的平台,你可以使用内置的标准OpenID 库和SAML2.0 库。

管理控制台

通过管理控制台,管理员可以全放位的管理keycloak。开启和关闭功能,配置身份认证代理和用户映射。创建、管理应用、服务和细粒度的授权策略。管理用户,包括权限和会话。
Keycloak概述_第4张图片

用户管理控制台

在用户管理控制台,用户可以管理他们自己的账号,更新描述信息、更改密码和开启双因素认证。用户也可以管理会话和登录历史。
Keycloak概述_第5张图片

标准协议

keycloak是基于标准协议的,支持OpenID Connect, OAuth 2.0, and SAML。
Keycloak概述_第6张图片

授权服务

如果基于角色的授权方式不能满足你的需要,keycloak同样提供了细粒度的授权服务。让你在keycloak 管理控制台管理你的其他服务权限。

Getting Started

独立运行keycloak是十分简单的,需要两个前提条件

  • 确保本机安装并且正确配置了jdk
  • 下载keycloak release

进入到keycloak目录,直接运行…/bin/standalone.bat,在一段时间等待后,控制台会输出启动成功。
Keycloak概述_第7张图片
在本机浏览器打开http://localhost:8080/auth ,创建管理员账号
Keycloak概述_第8张图片
进入管理控制台http://localhost:8080/auth/admin/
Keycloak概述_第9张图片
如果对英文不很熟悉,可以配置国际化。
Keycloak概述_第10张图片
到这里一个开发环境的keycloak就可以使用了,在生产环境中的群集部署、使用外置关系数据库等会在后续章节中单独说明。接下来我们会着重说明使用标准openid connect接入实现sso,以及扩展社交登录的实现。

你可能感兴趣的:(Keycloak,架构,中间件)