JeeSite 快速开发平台
官方网站
    • 平台简介
    • 架构特点
    • 技术选型
    • 功能介绍
    • 安装部署
    • 常见问题
    • 目录结构
    • 更新日志
    • Vue 文档
    • BPM 文档
    • Cloud 文档
V5 演示
Vue 演示
💖联系
  • 我要提意见、文档纠错
  • JeeSite 代码库, 请⭐Star关注
  • JeeSite Vue 代码库, 请⭐关注
  • Spring Cloud 微服务架构
  • JeeSite 手机端/移动端
  • AI + RAG + CMS 人工智能
  • Flowable 中国式工作流
  • OAauth2 统一认证服务器
  • 政务内外网环境中间件
  • 访问 ThinkGem 官方博客
  • 点击进入,下拉查看动态
官方网站
    • 平台简介
    • 架构特点
    • 技术选型
    • 功能介绍
    • 安装部署
    • 常见问题
    • 目录结构
    • 更新日志
    • Vue 文档
    • BPM 文档
    • Cloud 文档
V5 演示
Vue 演示
💖联系
  • 我要提意见、文档纠错
  • JeeSite 代码库, 请⭐Star关注
  • JeeSite Vue 代码库, 请⭐关注
  • Spring Cloud 微服务架构
  • JeeSite 手机端/移动端
  • AI + RAG + CMS 人工智能
  • Flowable 中国式工作流
  • OAauth2 统一认证服务器
  • 政务内外网环境中间件
  • 访问 ThinkGem 官方博客
  • 点击进入,下拉查看动态
  • 快速了解

  • 后端开发手册

  • Vue前端手册

  • 经典前端手册

  • 扩展功能专题

    • BPM 业务流程系统
    • 用户类型、类型扩展
    • 消息推送、消息提醒
    • 单点登录、OAuth2
    • 作业监控、任务调度
    • 对象存储、文件存储
    • 可视化数据大屏
    • 在线报表设计器
    • 文件管理、文件柜
    • 在线预览图片文档
    • 手机端移动端、Uni-App
    • CMS 内容管理系统
    • AI 知识库智能助手
    • 涉密 “三员” 管理
    • OAauth2 统一认证服务
      • 产品介绍
      • 功能白话
      • 快速体验
        • 服务端在线演示
        • 服务端本地化部署
        • 客户端配置方法
      • 授权调用接口
  • 云服务技术架构

  • 技术支持与服务

JeeSite OAauth2 统一认证服务软件文档

# 产品介绍

JeeSite OAuth2 Server 是基于 JeeSite 和 Spring Authorization Server 实现的 OAuth2 统一认证服务器。

它还是一个身份和访问管理(Identity and Access Management, IAM)的解决方案,在现代企业中扮演着至关重要的角色。

它负责确保只有经过授权的用户才能访问特定的资源,并且只能执行他们被允许的操作。Spring Authorization Server 已经完成了 授权码模式、密码模式、刷新令牌、撤销令牌、资源服务,实现 应用接入授权、JDBC 存储 等功能。

它将整合部署在本地或云端的内部办公系统、业务系统及第三方系统的所有身份认证机制和资源数据共享,实现单一账号无缝访问所有应用的服务,从而简化用户登录流程,提升工作效率。

开源地址:https://github.com/spring-projects/spring-authorization-server (opens new window)

# 功能白话

OAuth2 这个词,相信您已经比较耳熟,它的概念这里就不长篇大论了,网上可以搜索 “OAuth2” 就会到很多学习资源。 您可能看了很多概念还是不太理解,本文就通过大白话,来简要介绍下 OAuth2 的使用场景。

OAuth2 服务器都有哪些?比如各大互联网中的 “开放平台”,如:QQ 开放平台、微信开放平台、百度开放平台 等等, 开放平台中就实现了 OAuth2 协议。也就是可以通过 QQ 账号,获取 QQ 开发平台里的一些数据资源,也就是咱们平时见到的,通过 QQ 账号登录咱们的系统。

JeeSite OAuth2 Server 就可以理解为是 “开放平台”,帮助第三方系统使用 JeeSite 账号进行登录它的系统,且可根据一定要的权限范围,获取对应的 JeeSite 身份数据、功能权限、甚至业务功能数据等资源,提供给第三方系统使用。

本软件主要包括两部分服务:一是身份认证服务:通过账号密码进行登录系统,说明这个账号是合法的; 二是资源服务:这个账号可以获取哪些资源,可以访问哪些数据,比如 JeeSite 的用户信息数据。

服务端:

首先需要在 JeeSite OAuth2 Server 菜单里找到 “应用接入管理”,注册一个应用(第三方系统)并设定该应用的授权范围。 这样注册的应用就有权限获取 JeeSite 认证系统里的账号资源,进行登录自己的系统了。

客户端:

调用步骤(OAuth2授权码模式):

  1. 第三方系统,调用 JeeSite 认证服务授权码获取接口
  2. 若 JeeSite 认证服务未登录,则先登录 JeeSite 认证中心
  3. 认证中心会弹出 “应用接入” 授权确认界面,等待授权确认(也可以免确认)
  4. 授权允许确认后,返回授权码 code 给第三方系统
  5. 第三方系统根据 code 获取令牌 access_token 接入码
  6. 第三方系统再根据 access_token 获取相应资源(如:JeeSite 认证服务的 用户信息)
  7. 第三方可根据用户信息进行登录自己的系统

# 快速体验

# 服务端在线演示

  1. 地址:https://vue.jeesite.com/oauth2/oauth2RegisteredClient/list (opens new window)
  2. 菜单:扩展功能 -> 统一认证服务平台

# 服务端本地化部署

打开 web 的 pom.xml,加入如下模块依赖代码:

<!-- 统一认证服务器 -->
<dependency>
	<groupId>com.jeesite</groupId>
	<artifactId>jeesite-module-oauth2-server</artifactId>
	<version>${project.parent.version}</version>
</dependency>
1
2
3
4
5
6

注意:该软件独立授权,请联系商务咨询。

# 客户端配置方法

打开 web 的 pom.xml,加入如下模块依赖代码:

<!-- 第三方账号登录 -->
<dependency>
	<groupId>com.jeesite</groupId>
	<artifactId>jeesite-module-oauth2</artifactId>
	<version>${project.parent.version}</version>
</dependency>
1
2
3
4
5
6

注意:v4.1.8+ 专业版提供,此模块依赖,请向售后人员索取。

配置文件 application.yml 增加 JeeSite OAuth2 配置如下:

oauth2:
  jeesite:
    clientId: jeesite
    clientSecret: jeesite
    redirectUri: http://127.0.0.1:8980/js/oauth2/callback/jeesite
    serverUrl: http://127.0.0.1:9999/js
    #serverUrl: https://demo.jeesite.com/js
1
2
3
4
5
6
7

官方提供 demo.jeesite.com 用来演示 OAuth2 认证过程,免本地化部署 OAuth2 服务器。

访问登录地址:http://127.0.0.1:8980/js/oauth2/login/jeesite (opens new window)

# 授权调用接口

1、获取授权码

GET:http://127.0.0.1:9999/js/oauth2/authorize
  ?response_type=code
  &client_id=jeesite
  &redirect_uri=http://127.0.0.1:8980/js/oauth2/callback/jeesite
  &state=c43197e0ed0b6534147389607b5ce359
  &scope=profile
1
2
3
4
5
6

认证服务器允许接入后,调用 redirect_uri 地址,在该地址中可接受到 code 参数。

2、获取接入令牌

POST:http://127.0.0.1:9999/js/oauth2/token
  ?code=_6r1eh3dablJ-yC-CcTaScJRasMlnWo68N-3pHNrddFVNS0XFS1QXU9VSMOF_0rQc-c4uZd6oAc_CjPcrr-R7LHXxhvAUxCJqb874RxN4WFjL168pxH5Q6V-r8n0xV2-
  &client_id=jeesite
  &client_secret=jeesite
  &grant_type=authorization_code
  &redirect_uri=http://127.0.0.1:8980/js/oauth2/callback/jeesite
1
2
3
4
5
6

返回结果:

{
  "access_token":"eyJraWQiOiI5YzU4NmIzMi03MGViLTQ4ZjQtODk0Yi03YWNmODA0Yzc5NzEiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJzeXN0ZW0iLCJhdWQiOiJqZWVzaXRlIiwibmJmIjoxNjMwMDQzNTUyLCJzY29wZSI6WyJwcm9maWxlIl0sImV4cCI6MTYzMDA0MzczMiwiaWF0IjoxNjMwMDQzNTUyfQ.eflA4KHComs3w12LJAZaFsy9lQ_wT4WrCmrGIRXnJGwteZ_r9cFWxsutRmXcG3A8TV2qj4uLKzy6Tp1Ssn1SVSgdfEpYz-3MRJFlhT96GAWRauBSniWyJae8ind_CZoflFwQ33q35yQbF_7PDnJRC8MlUk8Y3NnxdoJOhoPUe2Wfqgm70xxNhwOY0wYNFbnql4VkzHLsZ4jUnF-xENIOdlBQiVy4HyOE0z5K0_KzuMP3UaqmNUyUI0RkRZNzwo0C3jVnLMFbnHDU-VdcsFvuBQGwPZw24xXZput5mUWsmm4nXlyvNy_WtX7mPcyx10snOTsXwgc9zz6voRE5ULJrhA",
  "refresh_token":"H4lLcea7bK7FDxuEzDIGq16uAwTdxQHqKAkiQXZibHl_w-8TQ3LMeX4njozkFMAsCnh-oT-39kHmi3vKPKRs2eT9ruoAqYy9DG9-vU6rbEiTQDcYGbqdQCQO1-FpExM6",
  "scope":"profile",
  "token_type":"Bearer",
  "expires_in":180
}
1
2
3
4
5
6
7

3、获取用户信息

GET:http://127.0.0.1:9999/js/oauth2/profile?access_token=eyJraWQiOiI5YzU4NmIzMi03MGViLTQ4ZjQtODk0Yi03YWNmODA0Yzc5NzEiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJzeXN0ZW0iLCJhdWQiOiJqZWVzaXRlIiwibmJmIjoxNjMwMDQzNTUyLCJzY29wZSI6WyJwcm9maWxlIl0sImV4cCI6MTYzMDA0MzczMiwiaWF0IjoxNjMwMDQzNTUyfQ.eflA4KHComs3w12LJAZaFsy9lQ_wT4WrCmrGIRXnJGwteZ_r9cFWxsutRmXcG3A8TV2qj4uLKzy6Tp1Ssn1SVSgdfEpYz-3MRJFlhT96GAWRauBSniWyJae8ind_CZoflFwQ33q35yQbF_7PDnJRC8MlUk8Y3NnxdoJOhoPUe2Wfqgm70xxNhwOY0wYNFbnql4VkzHLsZ4jUnF-xENIOdlBQiVy4HyOE0z5K0_KzuMP3UaqmNUyUI0RkRZNzwo0C3jVnLMFbnHDU-VdcsFvuBQGwPZw24xXZput5mUWsmm4nXlyvNy_WtX7mPcyx10snOTsXwgc9zz6voRE5ULJrhA
1

返回结果:

{
  "userCode":"system",
  "loginCode":"system",
  "userName":"超级管理员",
  "email":"test@163.com",
  "sex":"1",
  "avatar":"/ctxPath/userfiles/avatar/0/none/system.jpg",
  "sign":"匠心品质"
}
1
2
3
4
5
6
7
8
9
进入 JeeSite 源码仓库页面,点击右上角 ⭐ Star 加星关注。

← 涉密 “三员” 管理 SaaS架构、多租户→

联系我们:s.jeesite.com  |  微信号:jeesitex  |  邮箱:jeesite@163.com
© 2013-2025 济南卓源软件有限公司 版权所有 | Theme Vdoing

请关注 JeeSite 微信公众号,了解最新动态

  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式