1、OAuth的简述
OAuth(Open Authorization,开放授权)是为用户资源的授权定义了一个安全、开放及简单的标准,第三方无需知道用户的账号及密码,就可获取到用户的授权信息,并且这是安全的。(我喜欢简单没了,这里没看懂,没关系,接着往下面看)
2、OAuth的原理
(流程图–如上图)
我在图上分了四个步骤,下面是四步的讲解:
第一步:用户访问第三方网站,比如:就是你需要使用QQ进行登录的网站;
第二步:你点击QQ登录后,第三方网站将会连接并进行请求,比如:你点击登录后,第三方网站会跳转到QQ平台,提示你进行登录;
第三步:你要进行授权第三方网站对你的信息访问的一个权限,比如:当你QQ登录成功后,QQ会提示你,是否授权第三方Web访问你的用户基本信息或其他的资源信息,这时你点击授权即可;
第四步:授权后,第三方Web即可访问你刚才授权的资源信息,比如:你的QQ基本信息-头像、昵称、性别等。
通过这个原理图示及讲解(图是手工制作,有点草),相信大家都了解了OAuth这个原理的一个基本流程,若看不明白,你可以不用学习制作OAuth了,开个玩笑。(这步后,大家知道什么原理了,但还是无法知道OAuth究竟是如何实现认证的,别急,接着往下看)
3、OAuth 1.0的认证流程
这里直接讲解OAuth1.0协议的认证机制(OAuth2.0会在下一节中讲述),虽然现在很多平台都是遵循OAuth2.0,但还是有开放OAuth1.0平台的,比如:新浪微博、QQ1.0平台等。
在OAuth 1.0认证中会用到三个重要的Url:
第一个:Request Token Url,获取未授权的Token的Url;
第二个:User Authorization Url,请求用户对Token进行授权的Url;
第三个:Request Access Url,使用Token获取Access Token的Url;
上面是认证流程中用到的三个Url,在下面的流程示意图中会体现到,这是我讲解OAuth幻灯片的一页,直接截图下来进行讲解:
第一步:网站向认证平台请求一个未授权的Token,这个Request Token Url是前面说的第一个Url;
第二步:跳转至用户授权页面,提示用户进行登录,并进行授权,返回获得已授权的Token,用到的User Authorization Url是前面说的第二个Url;
第三步:通过已授权的Token,向认证平台请求Access Token(数据令牌),用到的Request Access Url是前面说的第三个Url,返回后到这步整个认证流程就结束了,最后一步,是通过数据令牌等参数,调用接口获取用户信息,不完全算认证的流程。(我喜欢简洁明了,认证流程就是这样,相信通过图示及讲解都能明白,若有不明白之处请留言)
相关推荐
在本文中,我们将深入探讨如何使用Apache JMeter进行OAuth 1.0授权认证。OAuth 1.0是一种授权协议,允许第三方应用安全地访问用户在另一服务上的资源,而无需获得用户的用户名和密码。JMeter是一款强大的性能测试...
在这个主题中,我们将深入理解OAuth 1.0在腾讯和新浪微博登录中的应用,以及如何使用Java进行实现。 OAuth 1.0的核心概念包括三个主要角色:资源所有者(用户)、客户端(第三方应用)和认证服务器(腾讯或新浪微博...
OAuth 1.0 是一种开放标准的授权协议,主要用于允许第三方应用在用户授权的前提下安全地访问服务提供商(如社交网络)的数据。OAuth 1.0 由 Blaine Cook、Chris Messina、Larry Halff 和 David Recordon 等人发起,...
ASP源码—QQ登录(基于oauth1.0版本)是一个使用Active Server Pages (ASP)技术实现的QQ第三方登录系统,该系统允许用户通过他们的QQ账号进行授权登录,从而简化网站注册和登录流程。OAuth 1.0是授权框架的一个早期...
在本项目中,“基于ASP的QQ登录(基于oauth1.0版本).zip”是一个使用ASP(Active Server Pages)技术实现的QQ登录功能,它依赖于OAuth 1.0协议进行授权。OAuth是一种开放标准,允许用户提供一个令牌,而不是用户名和...
基于Android系统的移动微博集成交互平台的设计与实现,用户通过手机或者PC来向微博开放平台服务器发送请求,微博服务器接收请求,并且返回XML格式或者JSON格式的数据给客户端。也就是说发送和接收都是基于字符流的,...
OAuth1.0版本是这个协议的早期版本,它为互联网应用提供了一个安全、可扩展的框架,使得第三方开发者可以安全地进行数据交互。 OAuth1.0的核心概念包括以下几个方面: 1. **资源所有者(Resource Owner)**:即...
介绍node-oauth-lite是用于Node.js的轻量级OAuth 1.0a客户端库。 它设计用于任何HTTP客户端库,并支持Google的[XOAUTH机制]( ),用于SMTP和IMAP身份验证。用法示例获取请求令牌 oauth = require ( " oauth-lite " ...
ASP实例开发源码—QQ登录ASP版(基于oauth1.0版本).zip ASP实例开发源码—QQ登录ASP版(基于oauth1.0版本).zip ASP实例开发源码—QQ登录ASP版(基于oauth1.0版本).zip
oauth-subscriber, 使用 OAuth 1.0 ( Guzzle 6 ) 标记Guzzle请求 Guzzle OAuth订阅服务器使用 OAuth 1.0标记HTTP请求。 使用使用者密钥。消费者机密。OAuth令牌和OAuth密钥对请求进行签名。这里版本仅适用于 Guzzle ...
oauth1, Go的OAuth 1.0客户机包 OAuth1 OAuth1是 OAuth client client客户机 client OAuth和 RFC协议的客户机。 软件包支持 HMAC-SHA1,RSA-SHA1和纯文本签名。安装go get github
您可以使用它与实现OAuth 1.0协议的任何提供程序进行交互,例如Twitter。 这是一个如何使用此程序包与Twitter API交互的快速示例:获取授权用户的推文。 <?php // Includes the Composer autoload file. ...
简单的oauth1使用OAuth 1.0a服务提供商进行身份验证的简单代码为具有块和ARC的iOS 6构建。 AFNetworking( )提供了一些很棒的方法来处理url参数,该方法已在项目中使用。 还使用了OAuthConsumer( )的一种不错的...
服务开放API的OAuth-1.0a实现 安装 ### Node.js $ npm install serve-oauth --save ###浏览器即将推出... 用法 ###使用https(Node.js) 依赖 var oauth = require ( 'serve-oauth' ) ; var https = require ( '...
QQ登录ASP版本,采用oauth1.0版本,配置简单,只要修改config.asp即可 将本文件所在的文件夹放在网站任何目录均可 ========================= 1.配置文件config.asp '参数配置 '申请到的appid const appid = "123456...
墙通过REST通信为WEB应用程序中的OAuth 1.0a标准( )的实现预先配置的框架要求JDK 1.7(或更高版本) MAVEN 3.x 兼容JEE6的应用服务器赞助身份提供者( 'IDP' )的登录应用程序,提供令牌的应用程序( 'SP' )和...
支持OAuth 1.0A 使用授权标头代替查询字符串或POST参数 允许上传图片 提供足够的信息以帮助调试 依存关系 该库已经过PHP 5.3+的测试,并依赖CURL和hash_hmac。 绝大多数托管服务提供商都包括这些库,并在PHP 5.1+上...
骨干-oauth-1.0a 适用于Backbone.js的OAuth 1.0a插件 该库旨在实现纯JavaScript oauth 1.0a。 在使用此方法之前,您应该了解与消费者令牌/秘密存储有关的某些安全问题。 这是一篇很好的文章,介绍了一种可能的解决...
HWIOAuthBundle添加了对通过Symfony中的OAuth1.0a或OAuth2对用户进行身份验证的支持。 注意:此捆绑包为实现任何OAuth1.0a或OAuth2提供程序提供了简便的方法! 安装 所有安装说明均位于文档中,请检查其特定版本:...