从0构建Oauth2Server服务之Refreshing-access-tokens

 更新时间:2023年08月15日 10:41:45   作者:demo007x  
这篇文章主要为大家介绍了从0构建Oauth2Server服务之Refreshing-access-tokens刷新令牌示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

刷新令牌 Refreshing-access-tokens

如何让您的开发人员使用刷新令牌来获取新的访问令牌。如果您的服务随访问令牌一起发出刷新令牌,则您需要实现此处描述的刷新授权类型。

请求参数

访问令牌请求将包含以下参数。

grant_type(必需的)

grant_type参数必须设置为“refresh_token”。

refresh_token(必需的)

先前颁发给客户端的刷新令牌。

scope(选修的)

请求的范围不得包括未在原始访问令牌中发布的其他范围。通常这不会包含在请求中,如果省略,服务应该发出一个与之前发出的范围相同的访问令牌。

客户端身份验证(如果客户端被授予机密则需要)

通常,刷新令牌仅用于机密客户端。但是,由于可以在没有客户端密码的情况下使用授权代码流,因此没有密码的客户端也可以使用刷新授权。如果向客户端发出了一个秘密,则客户端必须对该请求进行身份验证。通常,该服务将允许附加请求参数client_idclient_secret,或者接受 HTTP 基本身份验证标头中的客户端 ID 和密码。如果客户端没有密码,则此请求中不会出现客户端身份验证。

验证刷新令牌授予

在检查了所有必需的参数并验证了客户端(如果向客户端发出了秘密)之后,授权服务器可以继续验证请求的其他部分。

然后服务器检查刷新令牌是否有效,并且没有过期。如果刷新令牌已颁发给机密客户端,则服务必须确保请求中的刷新令牌已颁发给经过身份验证的客户端。

如果一切正常,该服务可以生成访问令牌并做出响应。服务器可能会在响应中发出新的刷新令牌,但如果响应不包含新的刷新令牌,则客户端会假定现有的刷新令牌仍然有效。

例子

以下是服务将接收的刷新授权示例。

POST /oauth/token HTTP/1.1
Host: authorization-server.com
grant_type=refresh_token
&refresh_token=xxxxxxxxxxx
&client_id=xxxxxxxxxx
&client_secret=xxxxxxxxxx

Response

对刷新令牌授予的响应与发出访问令牌时的响应相同。您可以选择在响应中发出新的刷新令牌,或者如果您不包含新的刷新令牌,则客户端假定当前的刷新令牌将继续有效。

以上就是从0构建Oauth2Server服务之Refreshing-access-tokens的详细内容,更多关于Oauth2Server服务构建的资料请关注脚本之家其它相关文章!

相关文章

  • 使用 Spring Boot Admin 监控应用状态的详细过程

    使用 Spring Boot Admin 监控应用状态的详细过程

    这篇文章主要介绍了使用 Spring Boot Admin 监控应用状态,该模块采集应用的内部信息,并暴露给外部的模块,支持 HTTP 和 JMX,并可以与一些第三方监控系统(如 Prometheus)整合,需要的朋友可以参考下
    2022-09-09
  • springboot页面国际化配置指南

    springboot页面国际化配置指南

    听起来高大上的国际化,起始就是在利用浏览器语言,或者页面中的中英文切换,将页面的文字在其他语言和中文进行切换,这篇文章主要给大家介绍了关于springboot页面国际化配置的相关资料,需要的朋友可以参考下
    2022-03-03
  • MQ的消息模型及在工作上应用场景

    MQ的消息模型及在工作上应用场景

    这篇文章主要介绍了MQ的消息模型及在工作上应用场景,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Java实现非阻塞式服务器的示例代码

    Java实现非阻塞式服务器的示例代码

    这篇文章主要为大家详细介绍了如何利用Java实现一个简单的非阻塞式服务器,文中的示例代码讲解详细,具有一定的学习价值,需要的可以参考一下
    2023-05-05
  • Spring Boot两种配置文件properties和yml区别

    Spring Boot两种配置文件properties和yml区别

    这篇文章主要为大家介绍了java面试中常见问到的Spring Boot两种配置文件properties和yml区别解答,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • PowerJob的DesignateServer工作流程源码解读

    PowerJob的DesignateServer工作流程源码解读

    这篇文章主要介绍了PowerJob的DesignateServer工作流程源码解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • SpringBoot下载文件的正确解法方式

    SpringBoot下载文件的正确解法方式

    这篇文章主要给大家介绍了关于SpringBoot下载文件的正确解法方式,SpringBoot是一款流行的框架,用于开发Web应用程序,在使用SpringBoot构建Web应用程序时,可能需要实现文件下载的功能,需要的朋友可以参考下
    2023-08-08
  • java中构造方法及this关键字的用法实例详解(超详细)

    java中构造方法及this关键字的用法实例详解(超详细)

    大家都知道,java作为一门内容丰富的编程语言,其中涉及的范围是十分广阔的,下面这篇文章主要给大家介绍了关于java中构造方法及this关键字用法的相关资料,需要的朋友可以参考下
    2022-04-04
  • 基于logback.xml不生效问题的解决

    基于logback.xml不生效问题的解决

    这篇文章主要介绍了基于logback.xml不生效问题的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • ScheduledExecutorService任务定时代码示例

    ScheduledExecutorService任务定时代码示例

    这篇文章主要介绍了ScheduledExecutorService任务定时代码示例,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01

最新评论