# 隐式授权模式
隐式授权模式的初衷是避免后端参与,具体流程:
- 本网站三方登录时,跳转到第三方平台,附带上 redirect_url
- 第三方平台中登录完成之后,跳转到 redirect_url,并附加上 token 等信息
- 前端拿到 token,调用第三方 API 获取用户信息
- 完成登录
缺点:
- token 显示在 url 中,容易暴露或者被分享
# 授权码授权模式
授权码模式相比于隐式授权模式,不同之处在于不暴露 token,而是暴露单次使用且具有时效性的授权码,后端通过授权码来获取到用户信息,并存储到数据库。通常配合使用 cookie 来存储状态。
- 本网站三方登录时,跳转到第三方平台,附带上 redirect_url
- 第三方平台中登录完成之后,跳转到 redirect_url,并附加上授权码等信息
- 前端拿到授权码,调用后端 API
- 后端 API 调用第三方 API,获取到用户信息,并存储到数据库,并生成 token,设置到页面 cookie 中
- 完成登录