什么是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://justcoding.iteye.com/blog/1950270

转载于:https://www.cnblogs.com/cnmenglang/p/6297592.html

OAuth认证与授权相关推荐

  1. OAuth2.0认证和授权原理

     什么是OAuth授权? 一.什么是OAuth协议 OAuth(开放授权)是一个开放标准. 允许第三方网站在用户授权的前提下访问在用户在服务商那里存储的各种信息. 而这种授权无需将用户提供用户名和 ...

  2. php授权验证系统 c,OAuth 2.0 授权码认证

    参考文章 组成成分 用户 应用1 应用2 流程 用户在应用1浏览.使用的过程中,涉及到要使用应用2功能的时候,就产生了 oauth 认证! A. 登录授权 应用1携带如下查询字符串: response ...

  3. ASP.NET Core 认证与授权[3]:OAuth OpenID Connect认证

    在上一章中,我们了解到,Cookie认证是一种本地认证方式,通常认证与授权都在同一个服务中,也可以使用Cookie共享的方式分开部署,但局限性较大,而如今随着微服务的流行,更加偏向于将以前的单体应用拆 ...

  4. 说透OAuth 2.0 [1] - 什么是认证和授权?

    说透OAuth 2.0 [1] - 什么是认证和授权? 引子 认证 认证实体变更 认证方式变更 信任系统变更 授权 总结 引子 我在面试Web相关岗位时,经常会问面试者一个问题,什么是认证,什么是授权 ...

  5. ASP.NET Core 认证与授权[2]:Cookie认证

    ASP.NET Core 认证与授权[2]:Cookie认证 原文:ASP.NET Core 认证与授权[2]:Cookie认证 由于HTTP协议是无状态的,但对于认证来说,必然要通过一种机制来保存用 ...

  6. 腾讯微博Android客户端开发——OAuth认证介绍

    腾讯微博是一个由腾讯推出,提供微型博客服务的类Twitter网站.在腾讯官方 的软件或网站中发布微博我们需要输入QQ号和密码,同样如果我们自己开发客户端给用户使用,我们也需要用户提供QQ号和密码,这就 ...

  7. ASP.NET Core 认证与授权[1]:初识认证

    在ASP.NET 4.X 中,我们最常用的是Forms认证,它既可以用于局域网环境,也可用于互联网环境,有着非常广泛的使用.但是它很难进行扩展,更无法与第三方认证集成,因此,在 ASP.NET Cor ...

  8. ASP.NET Core WebAPI中使用JWT Bearer认证和授权

    为什么是 JWT Bearer ASP.NET Core 在 Microsoft.AspNetCore.Authentication 下实现了一系列认证, 包含 Cookie, JwtBearer,  ...

  9. Ocelot简易教程(五)之集成IdentityServer认证以及授权

    最近比较懒(编者注:作者不是真懒,而是在憋大招,他最近实现了把Ocelot的配置使用数据库存储),所以隔了N天才来继续更新第五篇Ocelot简易教程,本篇教程会先简单介绍下官方文档记录的内容然后在前几 ...

最新文章

  1. android关于获取摄像头帧数据转成图片
  2. linux 书签管理工具,在书签管理工具中使用Ubuntu字体
  3. CSS知识点整理(2):框模型,定位
  4. 【学习笔记】数据链路层——流量控制:停止等待协议、后退N帧协议(GBN)、选择重传协议(SR)
  5. [考研]考研倒计时第8天
  6. Mr.J-- jQuery学习笔记(十七)--动画淡入淡出弹窗广告
  7. iptables 小提升
  8. Eclipse中如何更改字体大小?
  9. uPyLoader简易使用教程
  10. time模块时间格式转换及faker库数据伪造
  11. 3.SPSS Modeler数据基本分析笔记
  12. 小情调的伤感空间日志分享:亲爱的、你还不懂么?
  13. 【中软杯国二开源】基于PaddleOCR和深度学习的企业实体识别
  14. nginx反向代理配置解决不同域名默认页面不同问题
  15. 【Android学习之路】之从零开始做一个小项目(一)
  16. FLStudio水果最新版本V21支持中文语言
  17. ps如何快速消除黑眼圈或者眼袋
  18. SD-WAN网络加速,开通游戏快车道
  19. C语言打印三角形图案
  20. Apache Camel - 4 - Camel元素

热门文章

  1. 为什么生产环境都是linux,关于生产环境linux系统中的wheel用户组
  2. rabbin负载均衡
  3. Restful API 中的错误处理方案
  4. Linux中shell概念笔记
  5. hrjava项目原型html_Mockplus for Mac(原型设计工具)
  6. c语言des算法实验报告,C语言实现DES算法实验报告解析.doc
  7. php提交之前验证数据ajax提示,在通过Ajax请求提交之前使用jQuery进行表单验证
  8. mysql004操作表.增删改
  9. 全库模式 用户模式 表模式_暗模式,亮模式和用户的故事
  10. css网格_一个CSS网格可以全部统治