给linux命令在线中文手册加了,qq登录和新浪微博登录,认证用的是auth2.0,并且用了js api和php api相结合的方式来做的。个人觉得这种方式,兼顾安全和人性化。以前写过一篇关于申请的博客,请参考:qq登录,新浪微博登录接口申请过程中遇到的问题

1,js api的优点,就是弹窗登录,不要跳来跳去,烦的很,数据都是后获取的,可以通过浏览器的开发者工具,看到返回的数据,这样保存api返回的数据就不安全了,在浏览器上可以直接写代码,模拟提交

2,php api的缺点,页面跳转,个人感觉跳来跳去,非常让人不爽。但是在保存数据时,要安全的多,并且随时可以到第三方进行数据审核。

如果二者结合起来,不用跳来跳去,数据也可以得到校验。

一,qq登录

qq登录,JS API登录,并获取个人数据,异步提交给php程序,php程序,对提交来的数据,进行第三方校验,也就是说,根据传来的参数,在请求一次php的api,来获取信息,入本地数据库。qq的open id是qq的唯一标识,主要代码如下。

1,js代码

  1. <script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js" data-appid="你的appid"  charset="utf-8"></script>
  1. function qq_login(){
  2. QC.Login({
  3. btnId:"qqlogin",
  4. scope:"all",
  5. size: "A_M"
  6. }, function(reqData, opts){
  7. if(QC.Login.check()){
  8. QC.Login.getMe(function(openId, accessToken){
  9. if(openId){
  10. $.ajax({
  11. type:"POST",
  12. url:"./?mod=ajax&app=ajax_login&act=qq",
  13. async:false,
  14. data:{'openid':openId,'access':accessToken,'login':'only'},
  15. success: function(msg){
  16. if(msg == 'yes'){
  17. 这里是你的操作
  18. }
  19. }
  20. });
  21. }
  22. });
  23. }
  24. });
  25. }

2,php代码

  1. require_once("路径/qqConnectAPI.php");   //顶部包含这个文件
  2. public function qqAction(){
  3. if(emptyempty($_POST['openid']) || emptyempty($_POST['access'])){
  4. echo "no";
  5. exit;
  6. }
  7. $this->open_id = $_POST['openid'];
  8. $this->access = $_POST['access'];
  9. $qc = new QC($this->access,$this->open_id);     //对数据进行校验
  10. $arr = $qc->get_user_info();
  11. $result = $this->save_qq($arr);      //保存数据
  12. if(!emptyempty($result){
  13. echo "yes";
  14. exit;
  15. }else{
  16. echo "no";
  17. exit;
  18. }

二,新浪微博登录

js api登录过程,获取到登录数据,并且存储到cookie中,异步提交时,不用传参数到,php程序。php api有方法读取登录的access token,并获取唯一标识,user id

在这里再吐槽一下,新浪的接口,还是不错的,可就是尼玛,文档乱的一踏糊涂,找个东西,那叫痛苦。

1,js 代码

  1. <script src="http://tjs.sjs.sinajs.cn/open/api/js/wb.js?appkey=应用的app id" type="text/javascript" charset="utf-8"></script>

新浪微博的app key,app secret有多个,一个是网站的app
key,app secret,网站下,每个创建应用都有一个app key,app secret。

  1. function weibo_login (){
  2. WB2.anyWhere(function(W){
  3. W.widget.connectButton({
  4. id: "weibologin",
  5. type:'3,2',
  6. callback : {
  7. login:function(o){    //登录后的回调函数
  8. $.ajax({
  9. type:"POST",
  10. url:"./?mod=ajax&app=ajax_login&act=weibo",
  11. async:false,
  12. data:{'login':'only'},
  13. success: function(msg){
  14. if(msg == 'yes'){
  15. 你的操作
  16. }
  17. }
  18. });
  19. }
  20. }
  21. });
  22. });
  23. }

2,php代码

  1. include_once('路径/config.php');
  2. include_once('路径/saetv2.ex.class.php');
  3. public function weiboAction(){
  4. $o = new SaeTOAuthV2( WB_AKEY , WB_SKEY );
  5. $access = $o->getTokenFromJSSDK();       //从cookie中获取数据
  6. $c = new SaeTClientV2( WB_AKEY , WB_SKEY , $access['access_token'] );
  7. $user_message = $c->show_user_by_id( $access['uid']);
  8. $result = $this->save_sina($user_message);      //保存数据
  9. if(!emptyempty($result){
  10. echo "yes";
  11. exit;
  12. }else{
  13. echo "no";
  14. exit;
  15. }
  16. }

三,小结

qq登录和微博登录的接口都还是不错的,qq登录在实用性,灵活性,安全性上,比微博就好一点。特别是文档方面,qq登录比微博登录好的太多。新浪微博团队能不能改进一下呢。这就好比,有了家电,没有说明书是一样的。

qq登录,新浪微博登录 ,接口开发的更多相关文章

  1. 第三方登录 QQ登录 人人网登录 新浪微博登录

    http://www.pp6.cn/Index.aspx http://www.pp6.cn/Login.aspx 网站有自己的账号系统,这里使用的第三方登录仅仅是获取第三方账号的唯一id,昵称,性别 ...

  2. 7-4 python 接口开发(提供mock服务)

    1.登录接口开发(数据存在数据库中)  接口开发做mock(模拟功能) tools.py import pymysql def my_db(sql): conn = pymysql.connect(h ...

  3. qq登录,新浪微博登录接口申请过程中遇到的问题

    接口申请下来了,开发很容易的,参数传到就可以了.以前就做过这方面的开发,但是申请还是第一次,网上有关这方面的东东不是很多,所以记录一下申请过程. 1,qq登录接口申请 申请地址是:http://con ...

  4. 新浪微博登录接口(PHP版)

    CI框架下 新浪微博登录接口完整版说明:本贴只适合CI框架.功能实现:登录接口跳转链接成功,获取用户信息(包括最重要的u_id)成功,将用户与本地平台连接起来,用户登录成功后信息的存储,本地数据库第三 ...

  5. CI框架下 新浪微博登录接口完整版

    https://www.cnblogs.com/yznyzcw/p/3756622.html#top 说明:本贴只适合CI框架.功能实现:登录接口跳转链接成功,获取用户信息(包括最重要的u_id)成功 ...

  6. 如何本地测试例如QQ登录等第三方接口

    前言:现在基本是个网站就会集成第三方的一些接口,比如QQ登录.分享等等.但是在开发的时候,尤其是没有这方面经验的开发人员来说,调试流程时会显得迷茫,不知道怎么调试.这里就个人的这方面学习摸索做一个总结 ...

  7. 微信、QQ、新浪微博等第三方登录,你想知道的都在这了(上) 微信、QQ、新浪微博等第三方登录,你想知道的都在这了(下)

    微信.QQ.新浪微博等第三方登录,你想知道的都在这了(上):https://www.jianshu.com/p/133d84042483 微信.QQ.新浪微博等第三方登录,你想知道的都在这了(下):h ...

  8. 关于使用QQ、新浪微博、腾讯微博等第三方登录网站的开发过程(二)

    (二).新浪微博登录 1. 首先在新浪微博开放平台注册成为开发者.[http://open.weibo.com/connect] 具体自己填写一些相关信息就OK! 2. 注册成功之后,点击[微连接], ...

  9. php新浪微博登录接口用法实例

    本文实例讲述了php新浪微博登录接口用法.分享给大家供大家参考.具体分析如下: 在做微博登陆之前是需要申请到APP KEY 和App Secret,这个的申请方式请去 open.weibo.com 申 ...

随机推荐

  1. html5--5-13 渐变色

    html5--5-13 渐变色 学习要点 掌握渐变色的绘制方法 渐变色绘制方法 createLinearGradient() 创建线性渐变 createLinearGradient(x1,y1,x2, ...

  2. web.xml 有什么用?

    1.每个javaEE工程中都有web.xml文件,那么它的作用是什么呢?它是每个web.xml工程都必须的吗? 一个web中可以没有web.xml文件,也就是说,web.xml文件并不是web工程必须 ...

  3. HTML标题和段落

    HTML标题 通过<h1> - <h6> 等标签进行定义 <h1>一标题</h1> <h2>二标题</h2> <h3> ...

  4. Chapter2——如何分析Android程序

    前几天买了<Android软件安全与逆向分析>这本书,决定在这里记一些笔记. 第一章介绍了如何搭建环境,此处略去:第二章开始讲分析Android程序. 下面按顺序记录关键内容. ----- ...

  5. 工艺(SAM)

    传送门 用SAM可以非常轻松的解决问题. 只要把原串向SAM中插入两次,之后直接从\(t_0\)状态开始每次贪心跑最小就可以了. 因为这个题要用map,所以之前取begin即可. // luogu-j ...

  6. wp8环境搭建

    Windows Phone 8将采用与Windows 8相同的NT内核,这就意味着WP8将可能兼容Win8应用,开发者仅需很少改动就能让应用在两个平台上运行.由于内核变更,Windows Phone  ...

  7. dumpbin检查Dll

    用dumpbin.exe工具查看DLL,dumpbin.exe是VS自带的工具.版本VS2013,路径是:G:\VS2013\VC\bin\amd64\ 可以看到dumpbin.exe. 使用VS里的 ...

  8. python中panda的dateframe

    1 函数介绍 #to_csv函数的语法#函数原型# to_csv(filepath,sep=",",index=TRUE,header=TRUE)#参数介绍: #(1)导出的文件路 ...

  9. Flutter实战视频-移动电商-03.底部导航栏制作

    03.底部导航栏制作 material是谷歌退出的 还有另外的一种:cupertino是IOS的风格 我们底部的导航栏,静态的widget是不合适的,这垃圾我们用到动态的widget 这重新改成动态的 ...

  10. 13.详解oauth2授权码流程

    13.详解oauth2授权码流程 把登陆系统单独独立出来,可以给自己写的微服务用,也可以给第三方的系统调用我们的服务 显式的和隐式的,两种方式,