千家信息网

spring-security-oauth2的使用方法

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍"spring-security-oauth2的使用方法",在日常操作中,相信很多人在spring-security-oauth2的使用方法问题上存在疑惑,小编查阅了各式资料,整理出简
千家信息网最后更新 2026年11月01日spring-security-oauth2的使用方法

这篇文章主要介绍"spring-security-oauth2的使用方法",在日常操作中,相信很多人在spring-security-oauth2的使用方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"spring-security-oauth2的使用方法"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

git地址奉上

https://gitee.com/luck/oauth3.git

#SpringBoot2 + spring-security-oauth3 使用示例,实现了以下四和授权模式。

(1)授权码模式(Authorization Code)

(2)授权码简化模式(Implicit)

(3)Pwd模式(Resource Owner Password Credentials)

(4)Client模式(Client Credentials)

项目提供的所有用户和client 的密码都为123456

#安装运行

导入oauth3.sql

修改 application.yml的数据源

运行

mvn spring-boot:run

授权码模式(Authorization Code)使用说明

  1. 尝试直接访问用户信息

http://localhost:8080/user/info

提示需要认证:

                        Full authentication is required to access this resource                                unauthorized        
  1. 尝试获取授权码

http://localhost:8080/oauth/authorize?client_id=client_3&response_type=code&scope=read&redirect_uri=http://localhost:8080/code?client_id=client_3

因为这里会弹出 HTTP Basic认证,必须登录的用户才能申请 code。

  1. 输入用户名和密码

username=user_1

passpord=123456

如上用户名密码是交给 SpringSecurity 的主过滤器用来认证的

  1. 登录成功后,真正进行授权码的申请

oauth/authorize 认证成功,会根据 redirect_uri 执行 302 重定向,并且带上生成的 code,注意重定向到的是 8080 端口,这个时候已经是另外一个应用了。

http://localhost:8080/code?client_id=client_3&code=c3FbHM

代码中封装了一个 http 请求, 使用 restTemplate 向 认证服务器发送 token 的申请,当然是使用 code 来申请的,并最终成功获取到 access_token

{    "access_token":"5db93d64-2252-4349-90a3-e4d6637f90ae",    "refresh_token":"5a67faae-38ed-4e5c-a809-c9d07c16abcb",    "scope":"read",    "token_type":"bearer",    "expires_in":42494}
  1. 携带 access_token 访问 用户 信息

http://localhost:8080/user/info?access_token=5db93d64-2252-4349-90a3-e4d6637f90ae

正常返回信息

{    "password":null,    "username":"user_1",    "authorities":[{"authority":"ROLE_USER"}],    "accountNonExpired":true,    "accountNonLocked":true,    "credentialsNonExpired":true,    "enabled":true}

授权码简化模式(Implicit) 使用说明

Implicit与Authorization_code 区别是 Implicit不需要验证client_secret,请求如果成功会直接返回 token

获取授权码

 http://localhost:8080/oauth/authorize?response_type=token&client_id=client_4&scope=read&redirect_uri=http://localhost:8080/param

如果成功会重定向到URL(token在URL里)

http://localhost:8080/param#access_token=85090391-2c33-4a75-a989-116bb06b0c5a&token_type=bearer&expires_in=42962&scope=read

密码模式(Resource Owner Password Credentials)使用说明

请求 Access Token:

http://localhost:8080/oauth/token?username=user_1&password=123456&grant_type=client_credentials&scope=read&client_id=client_1&client_secret=123456

正常返回信息

{    "access_token":"fb1a1d03-9658-4d92-822a-d988c9f7a923",    "token_type":"bearer",    "expires_in":43148,    "scope":"read"}

Client模式(Client Credentials)使用说明

请求 Access Token:

http://localhost:8080/oauth/token?grant_type=client_credentials&scope=read&client_id=client_1&client_secret=123456

正常返回信息

{  "access_token": "fb1a1d03-9658-4d92-822a-d988c9f7a923",  "token_type": "bearer",  "expires_in": 42811,  "scope": "read"}

到此,关于"spring-security-oauth2的使用方法"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

模式 用户 方法 成功 信息 认证 使用方法 使用说明 密码 学习 更多 用户名 尝试 帮助 登录 运行 实用 接下来 代码 地址 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 湖北九亚互联网络科技有限公司 云信互联网科技有限公司 互联网科技保险 科技互联网公司装修 朗新科技与工业互联网 科技互联网技术 深圳科技互联网 金融科技 互联网金融 中国互联网科技发展 睿民互联网科技 重庆威客帮互联网科技 湖南诚度互联网科技有限公司 成都铂石互联网科技做什么的 科技类公司包括互联网吗 深圳艾果互联网通讯科技 深圳无忧互联网科技 广州百诚互联网科技有限公司官网 半导体行业属于互联网高科技类吗 上海旺乐尼互联网科技有限公司 互联网企业和网络科技有限公司 互联网科技有限公司图片 互联网科技有限公司 翻译 哈尔滨新华互联网科技 银川新华互联网科技学校地址 常德市电业局互联网科技部 港股科技和互联网 高科技互联网发展前景如何 全球科技与互联网公司市值变化 互联网科技新闻 广州全民伙伴互联网科技有限公司
0