网站首页 > 技术文章 正文
应用登记
一个应用要求 OAuth 授权,必须先到对方网站登记,让对方知道是谁在请求。举个例子,下面是github的登记页面:
- https://github.com/settings/applications/new
下面我们来自己做一个简单的应用登记,根据表 oauthclientdetails 的结构,我们登记的时候只填写应用名称和回调地址即可,其它的字段如下:
- client_id:使用UUID生成
- client_secret:使用UUID生成,并使用 BCryptPasswordEncoder 加密
- scope:默认all
- authorizedgranttypes :默认 authorizationcode,password,refreshtoken 三个
下面是sql语句:
Service中的方法:
接口定义:
下面来测试接口:
返回了预期中的客户端id和秘钥。来看一下数据库:
现在我们就可以使用新登记的应用来请求令牌了:
- http://localhost:8029/oauth/authorize?clientid=52f301a86511406ba5b4fbb4809614b0&responsetype=code&redirect_uri=http://localhost:8029/
令牌请求结果:
状态state字段
为了防止CSRF攻击,在申请授权码这一步时,可以在参数中增加一个state状态参数,这个参数是由客户端生成的随机字符串,授权服务会原封不动的返回这个参数和参数值,用户进行授权客户端的请求时也会携带此字符串用于比较。如下:
- http://localhost:8029/oauth/authorize?clientid=52f301a86511406ba5b4fbb4809614b0&responsetype=code&redirect_uri=http://localhost:8029/&state=123456789
返回结果如下:
如果传递过去的和回来的不一样,可以认为不合法。
代码地址:https://gitee.com/blueses/spring-boot-security 29
本文由博客一文多发平台 https://openwrite.cn?from=article_bottom 发布!
猜你喜欢
- 2024-09-25 SpringBoot集成Spring Security入门体验
- 2024-09-25 Spring Boot Actuator的端点都怎么用?咱用事实说话
- 2024-09-25 Spring Security-2-表单认证 spring security关闭表单登陆
- 2024-09-25 自营性电商项目④ 自营式电商平台的主要优势在于
- 2024-09-25 微服务架构系列之–前后端分离 JWT认证机制
- 2024-09-25 SpringBoot整合SpringSecurity和JWT实现mymes认证和授权(一)
- 2024-09-25 跟我学spring security系列文章第一章 实现一个基本的登入
- 2024-09-25 SpringBoot集成Spring Security springboot集成Elasticsearch
- 2024-09-25 Spring Security身份验证详细介绍
- 2024-09-25 如何使用JWT和Spring Security保护REST API,你会多少?
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)