淘宝账号基于OAuth2.0的登录验证授权登陆第三方网站

首先得有一个注册的appkey和App Secret

该流程分三个步骤: 
第一步:通过用户授权获取授权码Code; 
第二步:用上一步获取的Code和应用密钥(AppSecret)通过Https Post方式换取Token。 
第三步:获取用户Nick或者其他信息

第四步:保存session信息

一、获取授权码Code应用在要求获取用户信息的时候,首先引导用户(Redirect)到登录授权页面https://oauth.taobao.com/authorize 

需要传的参数有

名称  是否必需  描述 
response_type  此处为web应用,此值固定为code 
client_id  即创建应用时的Appkey 
redirect_uri  登录后的回调地址,(注意:此地址必须要与注册应用时的回调地址相匹配,匹配规则是:注域名完全匹配 
state  该参数由应用定义,用户授权后,授权服务器会原封不动将此参数返回。 
注: 应用可通过可选参数state来记录用户当前所处的页面位置信息,方便用户登录授权后,页面回调到用户之前所处的位置。 

例如: https://oauth.taobao.com/authorize?response_type=code&client_id=12251541&redirect_uri=http://www.xx.org&state=1

[attachment=335]

用户登陆后,显示用户授权页面: 
[attachment=336]

此时,用户可以选择“授权”或者“取消”(即不同意授权)。 
如果用户同意授权,则跳转到应用的回调地址(redirect_uri),同时,应用获得授权码code 
[attachment=337]

如果用户取消授权或者访问出错 
[attachment=338]

二、用授权码Code换取Token应用在获取授权码后,发送Https Post到授权服务器,授权服务器验证授权码的合法性和应用的AppSecret,验证通过后授权服务器返回Access Token给应用。 

需要传的参数有:

名称  是否必需  描述 
grant_type  授权类型 authorization_code 或者 refresh_token 
code  授权请求中的授权码,即第一步获取到的code 
redirect_uri  登录后的回调地址,(注意:此地址必须要与注册应用时的回调地址相匹配,匹配规则是:注域名完全匹配 
client_id  客户标识,即appkey 
client_secret  客户密钥,即appsecret 

以下为java代码实现授权:

第一步: 
在网站设置登陆入口

复制代码

  1. href="https://oauth.taobao.com/authorize?client_id=12381144&response_type=code&state=1&redirect_uri=http://localhost:2011/WinTaobao/do.jsp" target="_blank"> 
       登录

第二步,在redirect网站接受登录后返回的code,并获得access_token

1.  access_token就相当于sessionKey,后续调用其他接口可以直接使用

三、使用淘宝api获取登陆的用户名,将此用户名设置到session中。

时间: 2024-10-05 03:37:54

淘宝账号基于OAuth2.0的登录验证授权登陆第三方网站的相关文章

基于OAuth2.0协议 第三方登录与数据同步验证设计

前段时间,公司跟别的公司签订合作伙伴,搞了一个第三方登录与数据共享同步,是基于OAuth2.0协议,现在空闲了,做一下笔记. 到github下载一个OAuth2.0的PHP类库(当然,你也可以自己写一个^-^,但个人觉得没必要造轮子),有写好Mysql与Mongodb的Demo,参考一下,然后嵌套自己的业务代码,下面是客户端与服务端的交互流程: +-----------+ +-----------+| | 带client_id的URL请求获取code | || | ---------------

记录一次黑客模拟攻击 成功拿到淘宝账号和密码

前言:昨晚上我看到一篇因为apple ID 被盗,被迫向骗子支付了1000多元的文章,看完后,觉得如今真的不能在网络上留下自己太多的个人信息,尤其是涉及个人隐私.财产的信息,能避免尽量避免,要不然稍不注意就会被黑客利用. 文章中的黑客不仅改了他的密码,而且也把他账号的密保和邮箱篡改了,PO主就没办法了,账号没办法登录,就更别说重置密码了.由于IPhone 和MACBOOK 的丢失模式和保护机制,必须输对密码才能打开手机和电脑, 所以PO主为了拿回账号不得不去被迫花高代价解锁. 想闭,大家的账号都

ASP.NET没有魔法——ASP.NET MVC使用Oauth2.0实现身份验证

原文:ASP.NET没有魔法--ASP.NET MVC使用Oauth2.0实现身份验证 随着软件的不断发展,出现了更多的身份验证使用场景,除了典型的服务器与客户端之间的身份验证外还有,如服务与服务之间的(如微服务架构).服务器与多种客户端的(如PC.移动.Web等),甚至还有需要以服务的形式开放给第三方的,身份验证这一功能已经演化为一个服务,很多大型应用中都有自己的身份验证服务器甚至集群,所以普通的身份验证方式已经不能满足需求. 在.Net领域中也有一些开源的身份验证服务器组件,如Identit

基于OAuth2.0协议的QQ第三方授权登录iOS代码分析

简要说明: 授权登录已经成为注册方式里的主流,目前授权登录方式主要SSO跳转授权登录和OAuth2.0两种,前者好处无需用户再次输入密码就可以直接授权成功,但前提是必须用户手机端安装了该软件,比如QQ,后者的优势就是是否安装无关紧要,是一个HTML的页面呈现,麻烦就在于要输入用户名和密码,这就非常不爽了,但是有时候偏偏必须这么做,理由嘛,自行想想就好,接下来我们就看看如果利用OAuth2.0的方式来做QQ授权登录,如果想了解QQ的SSO授权登录,可以看我(博客主页)之前的博客:基于第三方QQ授权

基于oauth2.0实现应用的第三方登录

OAuth2 OAuth2所涉及到的对象主要有以下四个: Client 第三方应用,我们的应用就是一个Client Resource Owner 资源所有者,即用户 Authorization Server 授权服务器,即提供第三方登录服务的服务器,如Github Resource Server 拥有资源信息的服务器,通常和授权服务器属于同一应用 OAuth2的基本流程为: 第三方应用请求用户授权. 用户同意授权,并返回一个凭证(code) 第三方应用通过第二步的凭证(code)向授权服务器请求

python推荐淘宝物美价廉商品 2.0

改动: 新增功能 :可选择只看天猫或淘宝 代码模块化封装,参数配置或输入单独在一个py文件管理,主函数功能只留出参数传入在setting配置的py文件里. main.py代码: 1 # -*- coding: utf-8 -*- 2 import urllib 3 import urllib2 4 import re 5 import time 6 import random 7 import os 8 from math import log 9 from math import log10

OAuth2.0授权和SSO授权

一. OAuth2.0授权和SSO授 1. OAuth2.0 --> 网页 --> 当前程序内授权 --> 输入账号密码 --> (自己需要获取到令牌, 自己处理逻辑) 授权成功 2. SSO授权 --> 对应的第三方App内授权 --> 一键登录 二. SSO授权的优势 1. 不用输入账号密码 --> 快速登录 (账号密码太长, 密码不记得, 密码输入错误) ,节省时间 2. 安全 --> 防止你的账号和密码信息过多的暴露给其他的App 3. 防止任一环节

iOS OAuth2.0认证和SSO授权

OAuth2.0和SSO授权 一.OAuth2.0授权协议 一种安全的登陆协议,用户提交的账户密码不提交到本APP,而是提交到授权服务器,待服务器确认后,返回本APP一个访问令牌,本APP即可用该访问令牌访问资源服务器的资源.由于用户的账号密码并不与本APP直接交互,而是与官方服务器交互,因而它是安全的. 图示: 流程: 1.获取未授权的Request Token. url:request token url. param:appKey/appSecret,签名方法/签名(如HMAC-SHA1)

OAuth2.0的四种授权模式

1. OAuth2四种模式 1.1. 隐式授权模式(Implicit Grant) 第一步:用户访问页面时,重定向到认证服务器. 第二步:认证服务器给用户一个认证页面,等待用户授权. 第三步:用户授权,认证服务器想应用页面返回Token 第四步:验证Token,访问真正的资源页面 1.2. 授权码授权模式(Authorization code Grant) 第一步:用户访问页面 第二步:访问的页面将请求重定向到认证服务器 第三步:认证服务器向用户展示授权页面,等待用户授权 第四步:用户授权,认证