0
点赞
收藏
分享

微信扫一扫

登录和第三方授权

拾光的Shelly 2021-09-29 阅读 106

Cookie

起源:购物车
工作机制:通过报文中的cookie和set-cookie使得服务器和客户端来维护一套存储机制
作用:使用cookie管理登录状态、存储用户偏好、用户行为追踪
XSS(Cross-site scripting):HttpOnly 任何的js不许拿到,只允许网络请求时,浏览器自动加上
XSRF(Cross-site request forgery):Referer 跨站请求伪造,简称跨域问题。

Authorization

  1. Basic
    Authorization: Basic <username:password(Base64)>
    (Base64:将每3/4个字节转成一个新的字节,使得所有的字符都转成变成64个可打印的字符。)
  2. Bearer (持票人)
    Authorization: Bearer <bearer token>

OAuth2

OAuth2流程 (以简书向github申请授权为例)
https://segmentfault.com/a/1190000013467122

  1. 客户端浏览器打开简书网站,用户点击登录,请求简书的接口,简书服务器返回302附带上client_id进行重定向,客户端重定向至github发送第三方授权请求,附带上简书的client_id。
  2. 此时重定向会打开新的窗口,就是github的授权窗口(如果github没有登录,则会先进行登录)。用户点击同意,向github请求同意授权接口,github会返回authorization code,并重定向至简书服务器。
    前面的请求都不必是https,下面的请求必须是https。
  3. 简书服务器通过https请求,将授权code和client_secret发送至github。github返回access token。
  4. 拿到access token的简书服务器向github申请并拿到用户的信息,简书服务器再使用这些信息注册新的一个新的账号,并将简书服务器的token返回至客户端。
举报

相关推荐

0 条评论