新浪微博和 Twitter 的 Oauth API 为什么感觉流程不一样

新浪:

  1. 开发者引导用户到新浪授权页面, 页面链接中需要带上自己的 apikey :
  2. 用户授权后新浪跳转到开发者指定指定的页面,并且附上服务器返回的一枚 code 作为 param ;
  3. 开发者用这枚 code ,再加上自己的 apikey 和 api secret 去 post https://api.weibo.com/oauth2/access_token ;
  4. post 返回 access_token;
  5. 以后开发者每次用这枚 access_token 请求用户资源。

Twitter:

  1. 开发者首先把自己的 apikey 等信息加密作为 Header 里面的 Authorization 去 post https://api.twitter.com/oauth/request_token?call_back=balabala , 获得 auth_token ;
  2. 开发者再把用户引导到 Twitter 授权页面,并且需要传入这枚 auth_token 作为参数;
  3. 用户授权后开发者再获得 oauth_token 和 oauth_verifier , 开发者再把这一步获得的 auth_token 和 第一步的进行校验;
  4. 开发者再拿上一步获得的 oauth_verifier 和 oauth_token 去 post https://api.twitter.com/oauth/access_token , 成功后获得 oauth_token, uid, username 这些,然后再自己解析获得 access_token 。
  5. 以后开发者每次用这枚 access_token 请求用户资源。

感觉 Twitter 的要麻烦, 主要就是在引导用户授权之前还要自己先去 post 服务器临时获得一枚 auth_token 。

官网Twitter OAuth

Twitter API开发与OAuth介绍

Question: How long does an access token last?

Answer: We do not currently expire access tokens. Your access token will be invalid if a user explicitly rejects your application from their settings or if a Twitter admin suspends your application. If your application is suspended there will be a note on your application page saying that it has been suspended.

Obtaining Ads Account Access

Single-user OAuth with Examples

Access Tokens

OAuth Trick in coding

Twitter libraries

API reference index

Securing keys and access tokens

Twitter OAuth的更多相关文章

  1. Twitter开发

    开发文档:https://developer.twitter.com/ the Twitter Developer Account Application 示例:https://wptweetboos ...

  2. 【AMAD】django-social-auth -- 让django使用社交网络oauth鉴权变得极为轻松!

    简介 个人评分 简介 django-social-auth1集成的Oauth API包括: Google OpenID Google Oauth Google Oauth2 Yahoo OpenID ...

  3. Python(九)Tornado web 框架

    一.简介 Tornado 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本.这个 Web 框架看起来有些像web.py 或者 Google 的 webapp,不过 ...

  4. PHP资源列表

    一个PHP资源列表,内容包括:库.框架.模板.安全.代码分析.日志.第三方库.配置工具.Web 工具.书籍.电子书.经典博文等等. 初始翻译信息来自:<推荐!国外程序员整理的 PHP 资源大全& ...

  5. tornado web 框架的认识

    tornado 简介 1,概述 Tornado就是我们在 FriendFeed 的 Web 服务器及其常用工具的开源版本.Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的 ...

  6. 【PHP资源】PHP 资源大全

    看到这篇文章不错,转来收藏 依赖管理 依赖和包管理库 Composer/Packagist:一个包和依赖管理器 Composer Installers:一个多框架Composer库安装器 Pickle ...

  7. Github上的PHP资源汇总大全

    依赖管理 ——用于依赖管理的包和框架 Composer/Packagist : 一个包和依赖管理器 Composer Installers:  一个多框架Composer库安装器 Pickle: 可以 ...

  8. 【PHP开发】国外程序员收集整理的 PHP 资源大全

    依赖管理 依赖和包管理库 Composer/Packagist:一个包和依赖管理器 Composer Installers:一个多框架Composer库安装器 Pickle:一个PHP扩展安装器 其他 ...

  9. 优秀的PHP开源项目集合

    包管理Package Management Package Management Related 框架 框架组件 微框架Micro Frameworks 内容管理系统Content Managemen ...

随机推荐

  1. codeforces 957 A. Tritonic Iridescence

    题意: 给出一个字符串,要求任意两个相同的字母不能相同,问这个字符串是否能有两种或者两种以上的表现形式. 思路: 简单判断一下: 1.问号在端点: 2.连续两个问号或者以上: 3.一个问号两端的字母是 ...

  2. 大数据处理框架之Strom:kafka storm 整合

    storm 使用kafka做数据源,还可以使用文件.redis.jdbc.hive.HDFS.hbase.netty做数据源. 新建一个maven 工程: pom.xml <project xm ...

  3. 利用python 数据分析入门,详细教程,教小白快速入门

    这是一篇的数据的分析的典型案列,本人也是经历一次从无到有的过程,倍感珍惜,所以将其详细的记录下来,用来帮助后来者快速入门,,希望你能看到最后! 需求:对obo文件进行解析,输出为json字典格式 数据 ...

  4. tomcat 、NIO、netty 本质

    tomcat 基于 Socket,面向 web 浏览器的通信容器 nio 同步非阻塞的I/O模型 netty 通信框架,对 nio 的封装

  5. Beta分布深入理解

    一些公式 Gamma函数 (1) 贝叶斯公式 (2) 贝叶斯公式计算二项分布概率 现在有一枚未知硬币,我们想要计算抛出后出现正面的概率.我们使用贝叶斯公式计算硬币出现正面的概率.硬币出现正反率的概率和 ...

  6. curl 命令简介

    curl命令用于在命令行中发送HTTP请求: curl -i -H 'content-type: application/json' -X POST -d '{"name":&qu ...

  7. 基于jquery、bootstrap的数据验证插件bootstrapValidator使用

    实时验证用户名是否存在,密码不能和用户名相同,两次密码需要相同,提交之后需要验证返回值: <form id="defaultForm" role="form&quo ...

  8. 同行span标签设置display:inline-block;overflow:hidden垂直对齐问题

    1 问题描述:一个div包含 三个span 当span2 类样式设置如下图时,将导致垂直方向不对齐的情况 2解决方案: 将前面的也设置同样的样式 overflow:hidden; display:in ...

  9. kali linux下 hachcat安装

    网上关于hachcat的简单使用方法介绍很多,然而却很少有在kali linux上的安装教程,找了好长时间,终于安装成功了,特此将中间借鉴的内容记录如下: #首先安装p7z,用于解压下载的p7z包 # ...

  10. 在Eclipse中创建Dynamic Web Project具有和MyEclipse中Web Project一样的目录结构

    1.在Eclipse中新建Dynamic Web Project 1.1.修改default output folder build\classes修改为:WebRoot\WEB-INF\classe ...