zoukankan      html  css  js  c++  java
  • 淘宝账号基于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代码实现授权: 

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


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

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

     
    三、使用淘宝api获取登陆的用户名,将此用户名设置到session中。 
  • 相关阅读:
    第五章.函数
    第四章.文件操作
    第三章.数据类型
    PyYaml简单学习
    Vim编辑器基本用法
    numpy.ndarray.transpose用法理解
    Django Formsets总结
    学习,认知,思维
    Django model总结(上)
    结合pandas,sqlite3批量将csv数据导入sqlite数据库
  • 原文地址:https://www.cnblogs.com/soundcode/p/4600294.html
Copyright © 2011-2022 走看看