什么是OAuth授权?

一、什么是OAuth协议

OAuth(开放授权)是一个开放标准。

允许第三方网站在用户授权的前提下访问在用户在服务商那里存储的各种信息。

而这种授权无需将用户提供用户名和密码提供给该第三方网站。

OAuth允许用户提供一个令牌给第三方网站,一个令牌对应一个特定的第三方网站,同时该令牌只能在特定的时间内访问特定的资源。

二、OAuth的原理和授权流程

OAuth的认证和授权的过程中涉及的三方包括:

服务商:用户使用服务的提供方,一般用来存消息、储照片、视频、联系人、文件等(比如Twitter、Sina微波等)。

用  户:服务商的用户

第三方:通常是网站,该网站想要访问用户存储在服务商那里的信息。

比如某个提供照片打印服务的网站,用户想在那里打印自己存在服务商那里的网络相册。

在认证过程之前,第三方需要先向服务商申请第三方服务的唯一标识。

OAuth认证和授权的过程如下:

1、用户访问第三方网站网站,想对用户存放在服务商的某些资源进行操作。

2、第三方网站向服务商请求一个临时令牌。

3、服务商验证第三方网站的身份后,授予一个临时令牌。

4、第三方网站获得临时令牌后,将用户导向至服务商的授权页面请求用户授权,然后这个过程中将临时令牌和第三方网站的返回地址发送给服务商。

5、用户在服务商的授权页面上输入自己的用户名和密码,授权第三方网站访问所相应的资源。

6、授权成功后,服务商将用户导向第三方网站的返回地址。

7、第三方网站根据临时令牌从服务商那里获取访问令牌。

8、服务商根据令牌和用户的授权情况授予第三方网站访问令牌。

9、第三方网站使用获取到的访问令牌访问存放在服务商的对应的用户资源。

三、目前支持OAuth的网站有哪些?

t.sina.com.cn
t.qq.com
t.sohu.com
t.163.com
www.douban.com

www.twitter.com

www.facebook.com

Google Buzz

文件来源于: http://www.6zou.net/tech/what_is_oauth.html

所谓OAuth(即Open Authorization,开放授权),它是为用户资源授权提供了一种安全简单的标准,也就是说用户在访问第三方web或应用的时候,第三方不会知道用户的信息(登录密码等),现在基本都支持OAuth2.0版本了。

首先来看看我们在第三方使用oauth流程如下:

第一步:用户登录第三方网站,使用qq登录。

第二步:点击登录后,会跳到qq平台提示输入用户名和密码。

第三步:如果用户名和密码正确,会提示是否接受授权,如果授权成功,第三方网站就能访问你的资源了,qq头像、用户名等

认证和授权过程(包括三方)

1、服务提供方,用户使用服务提供方来存储受保护的资源,如照片,视频,联系人列表。

2、用户,存放在服务提供方的受保护的资源的拥有者。

3、客户端,要访问服务提供方资源的第三方应用,通常是网站。在认证过程之前,客户端要向服务提供者申请客户端标识。

       用户访问客户端的网站,想操作用户存放在服务提供方的资源。

客户端向服务提供方请求一个临时令牌。

服务提供方验证客户端的身份后,授予一个临时令牌。

客户端获得临时令牌后,将用户引导至服务提供方的授权页面请求用户授权。在这个过程中将临时令牌和客户端的回调连接发送给服务提供方。

用户在服务提供方的网页上输入用户名和密码,然后授权该客户端访问所请求的资源。

授权成功后,服务提供方引导用户返回客户端的网页。

客户端根据临时令牌从服务提供方那里获取访问令牌。

服务提供方根据临时令牌和用户的授权情况授予客户端访问令牌。

客户端使用获取的访问令牌访问存放在服务提供方上的受保护的资源。

来源:http://www.phpddt.com/%E4%BA%8C%E6%AC%A1%E5%BC%80%E5%8F%91/oauth-2.html

http://player.youku.com/player.php/sid/XMzI4NzA1MDA0/v.swf

Oauth2.0介绍相关推荐

  1. OAuth2.0 - 介绍与使用 及 授权码模式讲解

    一.OAuth2.0 前面我们已经学习了SpringSecurity在SpringMVC环境下和WebFlux环境下用户认证授权以及整合JWT作为Token无状态认证授权,但是在前面的演示中都会发现全 ...

  2. 开放平台鉴权以及OAuth2.0介绍

    OAuth 2.0 协议 OAuth是一个开发标准,允许用户授权第三方网站或应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方网站或分享他们数据的内容. OAuth 2.0 ...

  3. 详细介绍OAuth2.0及实现和SpringSecurity的整合应用

    一.OAuth2.0介绍 源码获取请加V :boge_java 1.概念说明   先说OAuth,OAuth是Open Authorization的简写.   OAuth协议为用户资源的授权提供了一个 ...

  4. android sina oauth2.0 code认证,Android通过第三方登录理解oauth2.0机制

    1. OAuth2.0介绍 说到第三方登录,离不开oauth2.0,oauth2.0是"用户认证和授权的标准",是从oauth1.0基础上发展来的.下图是oauth2.0六个过程分 ...

  5. OAuth1.0介绍

    背景 为什么需要OAuth授权呢? 最典型的应用场景就是第三方登录了, 我们开发了一个网站希望用户可以QQ登录, 但是怎么能拿到用户的 QQ 信息呢? 用户将 账号密码告诉我们当然可以, 但是这样有如 ...

  6. Oauth2.0 QQ微信微博实现第三方登陆

    一.写在前面 目前对于大多数的App或Web网站都支持有第三方登陆这个功能,用户可使用 QQ/ 微信/ 微博 帐号快速登录你的网站,降低注册门槛,为你的网站带来海量新用户.最近在新项目上刚好用到了,在 ...

  7. Spring Security OAuth2.0认证授权知识概括

    Spring Security OAuth2.0认证授权知识概括 安全框架基本概念 基于Session的认证方式 Spring Security简介 SpringSecurity详解 分布式系统认证方 ...

  8. 闪聚支付 第2章-对接SaaS以及用户认证OAuth2.0概述

    对接SaaS 基础概念 SaaS SaaS是Software-as-a-Service(软件即服务)的简称,它是一种通过互联网提供软件服务的模式,与传统软件相比有如下几点区别: 1.SaaS软件不再是 ...

  9. Spring Security——OAuth2.0

    目录 1.OAuth2.0介绍 1.1.概念说明 1.2.使用场景 1.3.OAuth2.0中的四种授权方式 1.3.1.授权码模式(authorization code) 1.3.2.简化模式(im ...

最新文章

  1. python绘图subplot绘制5幅图:以2行绘制,首行3幅图,次行2幅图居中(内含绘制3幅图简单版)
  2. Android内存管理机制
  3. linux svn 看不到文件,SVN更新时不能打开新文件svn-base系统找不到指定的文件
  4. Android日志Log使用
  5. [ubuntu setting]Change system language
  6. Java web后端5 JSP技术
  7. JWT ( JSON Web Token ) 入门教程
  8. MySQL · 源码分析 · change master to
  9. html中怎么给url格式化,如何将文本中的url提取出来格式化,然后将其它的html escape?...
  10. Duplicate zip entry
  11. 制作便携版 FireFox 火狐浏览器
  12. EDEM快速填充的方法
  13. 使用文本编辑器来写Python代码
  14. 微信小程序反编译wxss文件缺失_反编译任何微信小程序和如何还原wxss
  15. 企鹅号快速赚钱方法?企鹅号收益情况?
  16. 微信小程序rich-text图片不显示及图片过大问题解决办法
  17. 如何用【测试思维】做“支付功能”测试?
  18. android获取网页标题,android获取系统自带浏览器书签
  19. MYSQL的删除和重装
  20. checkbox 实现互斥选择

热门文章

  1. excel转换txt能否将数据对齐
  2. 《Linux内核分析》 第一节 计算机是如何工作的
  3. KMP算法详解:使用部分匹配表PMT来理解KMP算法,使用Java实现
  4. 互联网产品设计进阶(10)关注项目的赢利模式
  5. 路径规划仿真平台1.1 MSA*算法
  6. 旅游网站系统----登录功能
  7. 关于Visio画图与GSview转换为eps格式图片问题
  8. 简单解析一下扫码登陆原理,简单到你想不到!
  9. 上万数据批量新增/修改优化经验
  10. win10网络没计算机,几分钟不用win10电脑网络就自动掉线连不上怎么办