OAUTH2.0基础概念篇

Posted 茉茉沐元

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OAUTH2.0基础概念篇相关的知识,希望对你有一定的参考价值。

一、OAuth2.0概述

    OAuth2.0是一种授权机制。资源所有者告诉系统同意授权第三方应用进入系统,获取这些数据。系统从而产生一个短期的访问令牌(token),用来代替密码,供第三方应用使用。举个例子,你想登录有道云使用云笔记,但你从来没注册过有道账号,又不想新注册一个再使用有道,怎么办呢?不用担心,有道已经为你这种懒人做了准备,用你的qq号可以授权给有道进行登录。

二、OAuth2.0的授权模式

●授权码模式(Authorization code):授权码模式是目前最常见的一种授权模式, 适用于所有有Server端的应用,如Web站点、有Server端的手机客户端

简化模式(Implicitly Grant):结合移动应用或 Web App 使用

●密码模式(Resource owner password credentials):适用于受信任客户端应用,例如同个组织的内部或外部应用

●客户端模式(Client credentials):适用于客户端调用主服务API型应用(比如百度API Store)

三、OAuth2.0名词定义

●Third-party application:第三方应用程序,本文中又称"客户端"(client),即下例子中的"有道云笔记"。

●HTTP service:HTTP服务提供商,本文中简称"服务提供商",即下例中的QQ。

●Resource Owner:资源所有者,本文中又称"用户"(user)。

●User Agent:用户代理,本文中就是指浏览器。

●Authorization server:认证服务器,即服务提供商专门用来处理认证的服务器。

●Resource server:资源服务器,即服务提供商存放用户生成的资源的服务器。它与认证服务器,可以是同一台服务器,也可以是不同的服务器。

四、客户端应用注册

    在应用 OAuth 2 之前,你必须在授权方服务中注册你的应用。诸如此类 OAuth 实现平台中一般都要求开发者提供如下所示的授权设置项。

●应用名称

●应用网站

    应用注册成功后,授权方服务将以client id和client secret的形式为应用发布client credentials(客户端凭证)。client id是公开透明的字符串,授权方服务使用该字符串来标识应用程序,并且还用于构建呈现给用户的授权 url 。当应用请求访问用户的帐户时,client secret用于验证应用身份,并且必须在客户端和服务之间保持私有性。


以上是关于OAUTH2.0基础概念篇的主要内容,如果未能解决你的问题,请参考以下文章

Python基础篇_组合数据类型的基本概念

玩转Serverless架构 概念篇+开发基础篇+开发进阶篇+场景案例篇

Storm篇--Storm基础概念

库调多了,都忘了最基础的概念 -HashMap 篇

库调多了 都忘了最基础的概念 - 进程 / 线程篇

HarmonyOS实战[一]——原理概念介绍安装:基础篇