1 Star 0 Fork 12

方宇康 / spring-cloud-oauth

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

spring-cloud-oauth

流程

输入图片说明

介绍

Spring Cloud Security包含了Spring Security和Spring Security Oauth。实现了Oauth 2授权框架和基于JWT(JSON web tokens)的问题令牌,基于OAuth2,当用户访问客户端应用时,生成并发放token给目标客户端。

  1. 基于OAuth2 和 OpenID协议的可配置的SSO登录机制
  2. 基于tokens保障资源访问安全
  3. 引入UAA(User Account and Authentication)鉴权服务,UAA是一个Web服务,用于管理账户、Oauth2客户端和用户用于鉴权的问题令牌(Issue Token)

主要内容

  1. 认证对象:如用户、客户端以及目标资源服务器
  2. 认证类型:主要有授权码模式、密码模式以及客户端模式
  3. 认证范围:即认证权限,并作为一个命名的参数附加到AccessToken上

主要组件

  1. security-config 提供服务注册与发现功能
  2. security-provider 业务组件,资源服务器
  3. security-consumer 业务组件,资源服务器,基于openfeign消费security-provider服务
  4. security-auth 基于Spring Cloud Security的鉴权服务
  5. security-gateway 基于Spring Cloud Gateway的网关,对外提供统一的api入口

security-auth组件作为授权服务器,配置了客户端的认证类型和认证范围:

  1. 认证类型为authorization_code、password两种
  2. 认证范围为read、write

认证模式-授权码模式

客户端使用authorization_code授权方式,步骤如下:

  1. 访问授权服务器请求授权:http://localhost:8081/oauth/authorize?client_id=client&response_type=code&redirect_uri=http://www.baidu.com
  2. 授权服务器将浏览器重定向到登录页面:http://localhost:8081/login
  3. 用户输入用户名和密码,登录成功,允许访问受保护资源后,重定向到:https://www.baidu.com/?code=etlPQm,其中的code即授权码,后台可以根据这个授权码去换取access_token:http://localhost:8000/api/oauth/token,其中/api/auth代表通过网关路由到consul-auth服务

认证模式-password模式

客户端使用password授权方式,调用/api/auth/oauth/token接口获取access_token

空文件

简介

Spring Cloud Security包含了Spring Security和Spring Security Oauth。实现了Oauth 2授权框架和基于JWT(JSON web tokens)的问题令牌,基于OAuth2,当用户访问客户端应用时,生成并发放token给目标客户端。 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/fangyukang/spring-cloud-oauth.git
git@gitee.com:fangyukang/spring-cloud-oauth.git
fangyukang
spring-cloud-oauth
spring-cloud-oauth
master

搜索帮助