新浪微博和 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. JVM调优总结 -Xms

    转载自:http://unixboy.iteye.com/blog/174173/ 设置eclipse : -Xms256M -Xmx512M -XX:PermSize=256m -XX:MaxPer ...

  2. C# 调整控件的Z顺序

    当窗口或者容器控件中的控件在布局过程中发生重叠的时候,会出现层次性.Z顺序较大的控件会遮挡Z顺序较小的控件,放在顶层的控件会挡住放在底层的控件. 1.编辑一个这样的窗口(使用Label控件) 2.添加 ...

  3. Qt 之 pro 配置详解

    原文地址:https://blog.csdn.net/liang19890820/article/details/51774724 简述 使用Qt的时候,我们经常会对pro进行一系列繁琐的配置,为方便 ...

  4. jQuery获取子元素个数的方法

    //获取id=div1下的子元素的个数 $('#id').children().length; //获取id=div1下的p元素个数 $('#id').children('p').length;

  5. 穿透内网,连接动态ip,内网ip打洞-----p2p实现原理(转)

    源: 穿透内网,连接动态ip,内网ip打洞-----p2p实现原理

  6. Scrapy小技巧-MySQL存储, MYSQL拼接

    这两天上班接手,别人留下来的爬虫发现一个很好玩的 SQL脚本拼接. 只要你的Scrapy Field字段名字和 数据库字段的名字 一样.那么恭喜你你就可以拷贝这段SQL拼接脚本.进行MySQL入库处理 ...

  7. redis-3.2.7安装脚本

    redis-3.2.7 安装脚本 for CentOS 6.5 #!/bin/bash #Filename: inst_for_redis.sh #Version: 1.1 #Lastdate: 20 ...

  8. Golang内存分配内置函数之new函数

    new函数用来分配内存,主要分配值类型,比如int.float32.struct等,返回的是指针 package main import ( "fmt" ) func main() ...

  9. Linux 安装本地 yum源

    放入Centos6.4的镜像光盘或找到镜像文件 [root]#mount /dev/cdrom  /media/cdrom  #挂载本地镜像 [root]#rm -rf /etc/yum.repo.d ...

  10. tcpdump 抓包工具使用

    1. 常用命令 监听p4p1网卡上来自 192.168.162.14 的包 tcpdump -i p4p1 src host 192.168.162.14 tcpdump -i p4p1 dst po ...