OAuth简介

    OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。

认证和授权过程

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

  • 服务提供方 (Service Provider),用户使用服务提供方来存储受保护的资源,如照片,视频,联系人列表。
  • 用户 (User),存放在服务提供方的受保护的资源的拥有者。
  • 客户端 (Client),要访问服务提供方资源的第三方应用,通常是网站,如提供照片打印服务的网站。在认证过程之前,客户端要向服务提供者申请客户端标识。

使用OAuth进行认证和授权的过程如下所示:

  1. 用户访问客户端的网站,想操作用户存放在服务提供方的资源。
  2. 客户端服务提供方请求一个临时令牌 (Request Token)。
  3. 服务提供方验证客户端的身份后,授予一个临时令牌。
  4. 客户端获得临时令牌后,将用户引导至服务提供方的授权页面请求用户授权。在这个过程中将临时令牌和客户端的回调连接发送给服务提供方
  5. 用户服务提供方的网页上输入用户名和密码,然后授权该客户端访问所请求的资源。
  6. 授权成功后,服务提供方引导用户返回客户端的网页。
  7. 客户端根据临时令牌从服务提供方那里获取访问令牌 (Access Token)。
  8. 服务提供方根据临时令牌和用户的授权情况授予客户端访问令牌。
  9. 客户端使用获取的访问令牌访问存放在服务提供方上的受保护的资源。
时间: 2024-08-29 02:33:03

OAuth简介的相关文章

OAUTH协议简介,互联网营销

摘要:OAUTH协议为用户资源的授权提供了一个安全的.开放而又简易的标准.与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAUTH是安全的.同时,任何第三方都可以使用OAUTH认证服务,任何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的.业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间,

通过 OAuth 访问社会网络 Web 站点,第 1 部分

构建支持 OAuth 的桌面 Twitter 客户端 OAuth 是一种开放的协议,支持用户在不同的 Web 站点之间共享其受保护的资源,而无需担心泄漏的风险.OAuth 是混搭当今的社会网络 Web 站点(比如 Twitter)的理想选择.本系列文章的第一部分将介绍 OAuth,以及开发支持 OAuth 的桌面 Twitter 客户端的示例.本系列文章的第二部分将演示如何开发支持 OAuth 的 Web Twitter 客户端.支持 OAuth 的 Web Twitter 客户端将被迁移到 G

基于OAuth安全协议的Java应用编程

OAuth 协议致力于使网站和应用程序(统称为消费方 Consumer)能够在无须用户透露其认证信息的情况下,通过 API 访问该用户在服务提供方(Service Provider)那里的受保护资源.更一般地说,OAuth 为 API 认证提供了一个可自由实现且通用的方法.目前互联网很多服务如 Open API 等都提供了 OAuth 认证服务,OAuth 标准也逐渐成为开放资源授权的标准.本文讨论如何使用 Google Code 上提供的 OAuth Java 库来实现基于 OAuth 认证的

OAuth和OpenID的区别(转)

OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用.  OAuth协议为用户资源的授权提供了一个安全的.开放而又简易的标准.与以往的授权方式不同之处是OAuth的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAuth是安全的.同时,任何第三方都可以使用OAuth认证服务,任何服务提供商都可以实现自身的OA

django接入新浪微博OAuth的方法

  本文实例讲述了django接入新浪微博OAuth的方法.分享给大家供大家参考.具体分析如下: 最近将网站和新浪微博进行了整合,思路很简单,就是将页面内容和新浪微博联系起来,一个独立内容的页面对于一条微博,自然评论系统只需要使用微博的评论即可. 然后,用户需要发表评论的话,肯定要接入oauth,不可能让用户登录你的网站来发评论吧?没有谁会将自己的账号和密码告诉你的. 查看了新浪微博的授权机制,然后下载了python版的sdk,就可以在django上接入oauth了. 对于oauth很陌生的同学

OAuth工作原理随想——让你的系统提供的服务更加安全

最近这段时间,一直都在和web服务打交道.自己项目组的系统需要别的项目组提供服务接口:别的平台(手机)平台又需要我们这边给它们提供接口.实现.调用.接口文档都有所涉及.从中我发现一个非常重要的问题--安全,这是一个被严重忽略的问题. 我认为在网络这个充满敌意的大环境下,应用和服务的安全性,是一个不得不重视的问题.去年年底的CSDN账号泄露以及口令明文的事件,至少给了企业两个最基本的警示:(1)不要等到出现问题之后,才知道要去挽救,在这个浮躁的社会氛围下,出现哪怕不是什么大问题,都会被群起而攻之:

在WebSphere Application Server Liberty配置文件中启用OAuth

Ohttp://www.aliyun.com/zixun/aggregation/11646.html">Auth 一直是 Web 应用程序委托授权的事实标准.除了委托访问权限之外,OAuth 也越来越多地用于传统身份验证和授权角色,云和移动技术的普遍化趋势更推动了这种形势.2012 年,OAuth 2.0 规范最终敲定,许多企业很快就采用了新协议. 为了支持 OAuth 2.0 规范,IBM WebSphere Application Server V8.5.0.2 的 Liberty

OAuth 2 开发人员指南

这是支持OAuth2.0的用户指南.对于OAuth1.0,一切都是不同的,所以看它的用户指南. 本用户指南分为两个部分,第一部分是OAuth2.0提供端(OAuth 2.0 Provider),第二部分是OAuth2.0的客户端(OAuth 2.0 Client) OAuth2.0提供端 OAuth2.0的提供端的用途是负责将受保护的资源暴露出去.配置包括建立一个可以访问受保护的资源的客户端代表.提供端是通过管理和验证可用于访问受保护的资源的OAuth 2令牌来做的.在适当的地方,提供端也必须为

微博是个大金矿,使用VS2010编译QOAuth支持微博通用认证OAuth实现SINA微博登陆

随着Twitter的兴起和国内Sina和QQ等公司的追随,微博现在是如日中天,将传统的SNS给完全比拼下去,微博对于大家来说完全是个尚未完全开采的大金矿,对于一直站在潮流最前端的程序员来说怎么能将这么好的机会错失呢. 在这里我抛砖引玉,先介绍下如何在Qt平台上编译QAuth来支持现在微博的通用认证OAuth, 根据Twitter的API Wiki,基本的OAuth验证workflow如下: 1. 程序利用http://api.twitter.com/oauth/request_token来从tw