OAuth2 与 JWT 那些事

  自从微博流行后,OAuth2 概念自然也在开发圈里活跃起来,各种微博客户端雨后春笋般出现。到后来的 Web 前后端分离流行起来后,JWT 又映入眼帘。
  15年花图相册上线后,自认为在PC上看图已经有很好的体验了,做到极致的响应式页面能适配从手机屏到4K屏。经过一年多的使用,并没达到之前的预料,这一Geek般操作在实际使用中还是有很多不足,这里就不列举了。
  为此何不针对不同平台,分别做一套程序,并调整不同的功能。例如微信小程序,仅提供基础浏览,分享某一个相册,隔离其他相册。基于这些点的考虑,有很多技术方案选型。本文简单聊聊 OAuth2 和 JWT。

  Oauth2有四个角色非常重要

  Resource Owner 资源拥有者
  Resource Server 资源服务器
  Authorization Server 授权服务器
  Client 客户端

  举个例子:

  用户拥有花图相册上的照片资源(PC端upload),花图服务器提供存放这些照片资源,同时提供授权服务。这时候,如果有一个【花图App】用户将其装在手机上,选择使用花图账号登录,跳转到一个花图相册登录界面,随后进行授权确认。再返回App中,App便可以与花图服务器进行交互,获取到用户照片资源,显示出来。这里面还有很多细节如:AppId,AppSecret,Grant,Access_Token,Refresh_Token,Expires等不具体描述了。

  JWT本质只是提供了一种 Client 与 Server 间交互数据的协议,提供编码,防篡改等一些特性,通常与一些权限框架结合使用,例如 Shiro、Security 等。通过自定义 Token 签发一定程度上取代 Web 里面的 Session。

  Spring Boot 对着两种技术均有支持,还挺方便的,后续用到再细写。

本文链接地址:https://dorole.com/1824/

来自:Dorole's Blog

发布者

Steve

编程/摄影

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

:wink: :-| :-x :twisted: :) 8-O :( :roll: :-P :oops: :-o :mrgreen: :lol: :idea: :-D :evil: :cry: 8) :arrow: :-? :?: :!: