优化实战 第 26 期 - 使用 OAuth2.0 优化登录体验

653 阅读1分钟

有时候,我们登录某个应用程序,但又不想注册该应用程序的账号,这时我们可以使用第三方账号登录,比如 微信授权登录、支付宝授权登录、微博授权登录、Github授权登录、QQ授权登录 等

third_party_login.jpg

OAuth2.0 概览

OAuth 是目前最流行的授权机制,专门用来授权第三方应用,获取第三方用户数据

简单来说,就是数据的所有者告诉系统,同意授权第三方应用进入系统,获取这些数据。系统从而产生一个短期的进入令牌 Token ,用来代替密码,供第三方应用使用

第三方应用: 指客户端(client),比如打开掘金,使用微信登录,这时候掘金就是客户端

OAuth2.0 鉴权原理

  • 授权码模式(Authorization Code)

    它是功能最完整、流程最严密的授权模式。

    核心: 通过客户端的后台服务器,与 "服务提供商" 的认证服务器和资源服务器进⾏互动通信

  • 流程图示

    OAuth2.jpg

  • 通信过程

    第一步 - 客户端发送授权请求到服务端

    第二步 - 服务端重定向到授权确认页面

    第三步 - 客户端同意授权并进行认证

    第四步 - 认证服务器执行回调并返回认证 code

    第五步 - 通过认证 code 申请令牌 access_token

    第六步 - 通过 access_token 获取用户信息并进行信息处理

  • 什么是认证

    验证当前用户的身份,证明 你是你自己

    互联网中的常见认证:用户名密码登录 邮箱发送登录链接 手机号接收验证码

    一起学习,加群交流看 沸点