Keycloak本地服务器搭建

  1. keycloak简介(可跳过)

  • keycloak是“身份和访问管理”的工具

  • 可运用到以企业为中心的项目中

  • 支持单点登录

  • 支持三种不同的协议

OpenID Connect(身份协议)

一处注册到处使用。原本10个网站,需要10个用户名密码,如果10个网站支持OpenID,就可以 注册一个OpenId,登录一次方法10个网站。

OAuth 2.0(允许客户机应用程序依赖 OpenID Connect 的认证来验证用户身份)

前提:用户把,信息(姓名,年龄,邮箱等)存在keycloak服务器(注册一个openid)

目的:用户访问某网站时,要用到keycloak服务器的姓名等资源

步骤1:用户访问网站(客户端),网站将用户引导到keycloak服务器(做登录,资源授权)

步骤2:keycloak服务器引导用户返回客户端,将资源发给客户端

SAML 2.0(网页浏览器单点登录(SSO))

  1. 文档

API文档:Keycloak Admin REST API

管理者接口:https://www.keycloak.org/docs-api/15.0/rest-api/index.html

使用手册:http://help.daocloud.io/dcs25/keycloak-22382490.html

说明文档:https://www.keycloak.org/docs/latest/server_admin/#core-concepts-and-terms

  1. 主要概念
  1. 域(realm)

管理一组客户端(一处登录处处访问),域与域之间完全隔离。有两种域,默认 Master和新追加域。

  1. 客户端(client)

应用程序,支持通过Keycloak服务器做登录认证的实体。

  1. 角色(role)

用户的类型,分为域角色和客户端角色,用来区分不同客户端的权限。

  1. 用户(user)

做登录的实体,有自己的属性,姓名,邮箱等。

  1. 图例
  1. 访问模式
  1. 授权码模式(response_type=code)

步骤1:用户访问客户端

步骤2:客户端引导用户访问keycloak服务器(登录画面)

步骤3:用户登录,keycloak服务器引导用户携带授权码(refresh_token)回到客户端

步骤4:客户端需要用户信息时,通过(refresh_token)向keycloak服务器要访问凭证(Access Token

步骤5:客户端通过(Access Token)得到用户信息

  1. 隐藏模式(response_type=id_token,response_type=Id_token token)

同授权码模式比,少了一步token的返回,具体是哪一个token待调查。TODO

  1. keycloak下载安装

  1. 下载

下载地址:https://www.keycloak.org/downloads

最新(2022/12/02)20.0.1版(需要jdk11以上)

  1. 解压缩

下载的zip文件,选中一个目录,直接解压缩。

  1. 修改配置文件

环境变量不是JDK11的话,需要修改bin目录下的kc.bat文件。追加一句本地JDK11的路径配置。

  1. keycloak修改数据库(非必须)

keycloak默认使用内置的H2数据库,为了方便管理可以修改使用的数据库

  1. 下载安装MySql

需要本地有一个MySql数据库,方法略。

  1. 创建一个空数据库

  1. 修改conf文件
  • 修改keycloak的conf目录下的[keycloak.conf]文件,配置数据库信息

  • 启动keycloak服务后刷新数据库,数据库中自动生成了一系列的表

  1. keycloak启动

  1. 打开cmd

进入keycloak的bin目录,在目录栏输入cmd,然后回车。

  1. 启动
  • 输入kc.bat start-dev启动

  • 等待一会,看到DO NOT use this configuration in production,代表启动成功

另一种启动方式:可以指定ip 端口号 和ssl文件

kc.bat start-dev --hostname={ip} --https-certificate-file=../conf/ssl/server.crt --https-certificate-key-file=../conf/ssl/server.key --https-port=8080

  1. keycloak更改启动端口号

TODO

  1. keycloak管理界面

  1. 访问

浏览器http://localhost:8080访问

  1. 创建超级管理员

初次访问keycloak管理界面,需要创建一个超级管理员(具有Keycloak 完全权限)

  1. 登录
  • 跳转登录

  • 登录

  1. 设置主题
  1. 设置中文
  • 登出

  • 切换语言

keycloak管理界面操作

TODO

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值