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("发表成功");  

  • 相关阅读:
    Masonry代码自动布局的简单使用。
    iOS app 如何添加引导页。
    iOS应用程序发布AppStore及更新流程
    AFN的简单二次封装
    自定义tabbar(纯代码)
    自定义tabbar(storyBoard)
    GitHub tag的使用
    cvGetSize与cvSize的区别
    越界访问,调试真的很头疼
    Hadoop对文本文件的快速全局排序
  • 原文地址:https://www.cnblogs.com/attilax/p/15200098.html
Copyright © 2011-2022 走看看