Skip to main content

什么是OAuth

OAuth(Open Authorization,开放授权)是一种授权协议

允许某个应用代表用户,去访问另一个服务的资源,而无需让应用知道用户的密码。

核心概念

名称含义
Resource Owner(资源所有者)用户本人
Client(客户端)第三方应用
Resource Server(资源服务器)存放用户数据的服务器
Authorization Server(授权服务器)负责登录、发令牌
Access Token(访问令牌)授权后发给第三方应用的通行证,有有效期

四种模式

基于不同的使用场景,OAuth2.0设计了四种模式:

  1. 授权码(Authorization Code):OAuth2.0 标准授权步骤,Server 端向 Client 端下放 Code 码,Client 端再用 Code 码换取授权 Access-Token。
  2. 隐藏式(Implicit):无法使用授权码模式时的备用选择,Server 端使用 URL 重定向方式直接将 Access-Token 下放到 Client 端页面。
  3. 密码式(Password):Client 端直接拿着用户的账号密码换取授权 Access-Token。
  4. 客户端凭证(Client Credentials):Server 端针对 Client 级别的 Token,代表应用自身的资源授权。

具体的设计模式可以参考这篇文章

基础功能

OAuth的基础功能是根据用户名和密码生成一个临时的凭证

接着通过这个凭证访问各种API获取信息


远东在线提供了基础的OAuth2 API,本文将会对其常用的两种方式进行教学,让我们开始吧!