OAuth2.0协议之新浪微博接口演示
新浪微博接口调用数据代码:
<?php
/**
* @ Author : LiBo
* @ Date : 2013-10-25
* @ File : weiboapi.php
*
* @ 说明:回调页面http://pressure.manyi.cc/weibo/ok.php中,
* 仅做session保存code的值即可。
**/ /**
* 开启session,因为授权请求返回的code每次都会变化,而获取access_token是需要传递code的值,
* 所以需要用session来存储code的值。
*/
session_start(); /**
* 过程1:引导需要授权的用户到如下地址:
* https://api.weibo.com/oauth2/authorize
* ?client_id=YOUR_CLIENT_ID
* &response_type=code
* &redirect_uri=YOUR_REGISTERED_REDIRECT_URI
*
* 需要用GET方式请求即可返回code,
* 返回的code从url中获取,如下:
* http://pressure.manyi.cc/weibo/ok.php
* ?code=0da62e01a1e143083d3cb98fe6570fb3
*/
echo '<a href="https://api.weibo.com/oauth2/authorize?client_id=2914160891&response_type=code&redirect_uri=http://pressure.manyi.cc/weibo/ok.php">a</a>'; //取session中的code
$code = $_SESSION['code']; /**
* 过程2:换取Access Token
* https://api.weibo.com/oauth2/access_token
* ?client_id=YOUR_CLIENT_ID
* &client_secret=YOUR_CLIENT_SECRET
* &grant_type=authorization_code
* &redirect_uri=YOUR_REGISTERED_REDIRECT_URI
* &code=CODE
*
* 必须用POST请求,否则出错!
*/
echo '<form action="https://api.weibo.com/oauth2/access_token
?client_id=2914160891
&client_secret=0c37ed3a3d78b6cec595826c465fc2c9
&grant_type=authorization_code
&redirect_uri=http://pressure.manyi.cc/weibo/ok.php
&code='.$code.'" method="POST">
<input type="submit" name="access" value="access_token">
</form>'; /**
*因为access_token不会在每次请求的时候改变,
*所以这里放到一个变量里即可。
*注意:code是每次请求都会改变,而access_token是一个有固定有效期的值,
* 当过了这个有效期,则需要重新授权
*/
$access_token = "2.008_chgBB4WNLDa5203e0e92um15ZD"; echo '<form action="https://api.weibo.com/2/statuses/public_timeline.json" method="GET">
<input type="text" name="access_token" value="'.$access_token.'">
<input type="submit" name="access" value="access_token">
</form>';
var_dump($_REQUEST);
?>
OAuth2.0协议之新浪微博接口演示的更多相关文章
- Oauth2.0协议曝漏洞 大量社交网站隐私或遭泄露
2014年是IT业界不平常的一年,XP停服.IE长老漏洞(秘狐)等等层出不穷,现在,社交网络也爆出惊天漏洞:Oauth2.0协议漏洞 继OpenSSL漏洞后,开源安全软件再曝安全漏洞.新加坡南洋理工大 ...
- Oauth2.0 协议简介及 php实例代码
转自:http://www.dahouduan.com/2017/11/21/oauth2-php/ https://blog.csdn.net/halsonhe/article/details/81 ...
- 接口测试工具-Jmeter使用笔记(八:模拟OAuth2.0协议简化模式的请求)
背景 博主的主要工作是测试API,目前已经用Jmeter+Jenkins实现了项目中的接口自动化测试流程.但是马上要接手的项目,API应用的是OAuth2.0协议授权,并且采用的是简化模式(impli ...
- 使用OAuth2.0协议的github、QQ、weibo第三方登录接入总结
目录 第三方接入总结 OAuth2.0介绍 github OAuth2.0登录接入 国内第三方应用商SDK使用 微博SDK 腾讯QQ SDK passport.js插件使用 安装 相关中间件.路由 返 ...
- 第三方登录,一般都是遵循OAuth2.0协议。
1. QQ登录OAuth2.0协议开发流程 1.1 开发流程 申请接入,获取appid和appkey; 开发应用,设置协作者账号,上线之前只有协作者才能进行第三方登录 放置QQ登录按钮(这个自己可以用 ...
- 轻松搭建CAS 5.x系列(6)-在CAS Server上增加OAuth2.0协议
概述说明 CAS Server默认搭建出来,客户端程序只能按照CAS自身的协议接入.CAS的强大在于,有官方的插件,可以支持其他的协议.本章节就让CAS Server怎么增加OAuth2.0的登录协议 ...
- 《OAuth2.0协议安全形式化分析-》----论文摘抄整理
---恢复内容开始--- 本篇论文发表在计算机工程与设计,感觉写的还是很有水准的.实验部分交代的比较清楚 本篇论文的创新点: 使用Scyther工具 主要是在 DY模型下面 形式化分析了 OAuth2 ...
- Spring Security 实战干货: 简单的认识 OAuth2.0 协议
1.前言 欢迎阅读 Spring Security 实战干货 系列文章 .OAuth2.0 是近几年比较流行的授权机制,对于普通用户来说可能每天你都在用它,我们经常使用的第三方登录大都基于 OAuth ...
- 对OAuth2.0协议的理解和测试demo
1. 什么是OAuth OAuth(开放授权)是一个开放标准,允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方网站或分享他们数据的所有内容. OAuth ...
随机推荐
- STL标准库-容器-deque
技术在于交流.沟通,本文为博主原创文章转载请注明出处并保持作品的完整性. deque双向开口可进可出的容器 我们知道连续内存的容器不能随意扩充,因为这样容易扩充别人那去 deque却可以,它创造了内存 ...
- springboot---没有配置数据库启动报错
If you want an embedded database please put a supported one on the classpath. If you have database s ...
- 转:Content-disposition中Attachment和inline的区别
转自:http://itindex.net/detail/52857-content-disposition-attachment?utm_source=tuicool&utm_medium= ...
- input输入框外联式样式控制不了字体
1.问题背景 在做项目过程中,发现input输入框利用外联样式,控制不了输入框的样式 2.问题原因 (1)HTML代码 <!DOCTYPE html> <html> <h ...
- ionic2中跨页面回传值
1.在跳转到新页面时传入一个contactsCallback的参数,在该参数的函数定义中做出一个承诺. 注意:最开始我本来是采用如下图方式的,但是很不幸,出现了问题,问题所在就是关于这个this的作用 ...
- CF1076E:Vasya and a Tree(DFS&差分)
Vasya has a tree consisting of n n vertices with root in vertex 1 1 . At first all vertices has 0 0 ...
- 【转】Python 中的 if __name__ == '__main__' 该如何理解
转自:http://blog.konghy.cn/2017/04/24/python-entry-program/ 程序入口 对于很多编程语言来说,程序都必须要有一个入口,比如 C,C++,以及完全面 ...
- Cannot find name 'AsyncIterator' error in Typescript compilation process 问题解决
解决方法: tsconfig.json: 添加lib 编译选项 { "compilerOptions": { "lib":[ "esnext.asyn ...
- cocos2dx Scene,Layer,Sprite的理解
layer,scene,sprite的默认锚点都是0.5,0.5 三者都继承自Node节点,暂时没看出有什么区别,或者下面的话是对的吧. 在cocos2d-x中,一个应用可以有多个scene,但任何时 ...
- C# Async&Await
在async和await之前我们用Task来实现异步任务是这样做的: static Task<string> GetBaiduHtmlTAP() { //创建一个异步Task对象,内部封装 ...