zoukankan      html  css  js  c++  java
  • oauth授权

    1.OAuth
    OAuth是一种国际通用的授权方式,它的特点是不需要用户在第三方应用输入用户名及密码。OAuth的技术说明可参看官方网站 http://oauth.net (英文)。

    微博系统中,OAuth的Access token不会过期,只有用户手工撤销授权或收回您的app访问权限access token才会失效。

    目前OAuth只支持授权读写访问,授权的应用可以获取用户数据及发表微博。目前暂时不支持只读权限授权。


    2.认证流程及访问资源流程
    腾讯微博API通过以下四个步骤来完成认证授权并访问或修改受限资源的流程

    1.获取未授权的Request Token(temporary credentials)
    2.请求用户授权Request Token
    3.使用授权后的Request Token换取Access Token(token credentials)
    4.使用 Access Token 访问或修改受保护资源


    3.桌面应用的OAuth使用方式
    OAuth协议规范由于需要输入密码之后跳转到callback URL, 因此并不十分适合桌面软件(非Web软件)。我们采用输入PIN的方式来激活纯桌面应用。具体流程为:

    第三方应用软件向API调用获得request token
    用户打开网页跳转到新浪微博网站输入用户名及密码。
    验证通过之后,用户会看到一个PIN码。
    新浪验证通过网页界面提示用户需要到应用软件输入PIN码。
    第三方应用软件提示用户输入PIN码。
    第三方应用软件将PIN作为oauth/access_token接口的oauth_verifier parameter参数传入,获取access_token.
    API接口返回后续请求所需access_token


    4.
     RequestToken resToken=weboauth.request("http://localhost/s/callback.jsp");
     
      response.sendRedirect(resToken.getAuthorizationURL());
    // http://localhost/s/callback.jsp?oauth_token=68fbb7cadac41b0a152afe2e82a5a225&oauth_verifier=712361


     AccessToken accessToken=weboauth.requstAccessToken(resToken,verifier);
       
         //第二个参数每次只能用一次,发表微博内容不能重复,如果重复发会返回400错误
         //这个accessToken不用每次访问都重新取,可以存到session里面用
         weboauth.update(accessToken,"web方式发表微博4");
         out.println("发表成功");  

  • 相关阅读:
    Laya中使用Protobuf
    Laya中第三方库的使用
    Laya的骨骼换装
    Laya的粒子效果
    Laya的预设Prefab (预制件)
    Egret EUI Tab + ViewStack
    Egret 划线手势动画 (切水果)
    Egret3.2.6老项目转成5.2.22微信小游戏,遇到exml加载不了问题
    AndroidUI设计 之 图片浏览器
    Android应用的自动更新模块
  • 原文地址:https://www.cnblogs.com/attilax/p/15200098.html
Copyright © 2011-2022 走看看