最近做一个个人博客,其中的登陆模块我想使用第三方登陆来做。上网搜一下有好多例子,但是大多数都是一个网站的第三方登陆,如QQ、微博、人人,没有集成的组件,于是就在网上搜一下百度的apistore,百度果真没有让人失望。等我下载javascript版的sdk时,一盆冷水浇了下来,javascript版的sdk不可以下载,可能是网站出错的原因。不得已自己慢慢摸索,终于搞定了,下面我来分享一下这个插件,让后来人少走些弯路。【尼玛,百度api变的也太快了,半个月前做的例子,今天打开又不能用了。有花了一个多小时,才整出来,步骤进行调整】

百度开发中心的几个重要网址:

百度开发者中心:http://developer.baidu.com/

百度开发者中心改版公告:http://developer.baidu.com/announcement/115

开发者服务管理:http://developer.baidu.com/console#app/project

开发者信息管理:http://developer.baidu.com/user/info

开发者注册:http://developer.baidu.com/user/reg

看图

后面使用PC端js组件设置,并且复制设置的代码,代码如下

         <script src="~/Scripts/load/Baidu-Frontia-JS-1.0.0.js"></script>【这个js插件,下载一下第三方登陆的demo就有,复制下来】

<script type="text/javascript" id="bd_soc_login_boot"></script>
<pre id='some-msg'></pre>

下边的可以在pc端js组件中生成【这段js要放到页面最后面,加载完页面后再加载js,不然会出错】
<script type="text/javascript">
(function () {
var t = new Date().getTime(),
script = document.getElementById("bd_soc_login_boot"),
redirect_uri = encodeURIComponent("http://dongsheng.club/login/index"),
domid = "some-msg",
src = "http://openapi.baidu.com/social/oauth/2.0/connect/login?redirect_uri=" + redirect_uri + "&domid=" + domid + "&client_type=web&response_type=code&media_types=sinaweibo%2Cqqdenglu%2Cbaidu%2Cqqweibo%2Ckaixin%2Crenren&size=-1&button_type=4&client_id=LE3C0q1hxETmHDlbYtG9kSG9&view=embedded&t=" + t;
script.src = src;
})();
</script>

这个地址  http://dongsheng.club/login/index  是什么?看下图     【网址可以随便起】

【这是修改内容,地址与参数与上边的不一样,就不要在意这些细节了。

到这一步就会返回带有参数的地址了:http://www.xiaoyaodijun.com/home/index?code=98f82414bebb81958272acf07dc231ea&state=

这里面就code有点作用,state就不要在意了。这是需要看的讲解是:http://developer.baidu.com/wiki/index.php?title=docs/social/oauth

以及http://developer.baidu.com/wiki/index.php?title=docs/social/oauth/authorization

需要你再一次进行地址请求:

https://openapi.baidu.com/social/oauth/2.0/token?
grant_type=authorization_code&
code=ANXxSNjwQDugOnqeikRMu2bKaXCdlLxn&
client_id=Va5yQRHlA4Fq4eR3LT0vuXV4&
client_secret=0rDSjzQ20XUj5itV7WRtznPQSzr5pVw2&
redirect_uri=http%3A%2F%2Fwww.example.com%2Fsocial_oauth_redirect
这时获得的请求地址为:
{"expires_in":7776000,"access_token":"51.e30dc5d4575e775d9334598e3358c703.7776000.1447555359.2902756138-6643058","session_secret":"07dcf5527b21431af747a7d18120a960","session_key":"8aKDWNYK9XlGPx0Fqy+UnKGBCfHXhRbbSUzjTVoLD+bKhsEZlitbK1I1Bp7fWIBxreoVT9aa5428\/Bkzbho38pmDKEwC51AaoQ==","name":"\u900d\u9065\u5e1d\u541b","media_uid":"D2A253FCEBAB5B57EC2F122B3B80EFC2","social_uid":2902756138,"media_type":"qqdenglu"}
这里面有用的就是:access_token
后面的就没什么变化了

到此处,基本ok到了关键地方,此时网页也可以运行了,第三方登陆后,返回的url带有参数

这里面比较有用的东西是access_token=*********************需要提取出来,

登陆这个网站:http://developer.baidu.com/wiki/index.php?title=docs/social/api/list 获取

然后进行二次请求

你要的数据都在json中

百度apistore第三方登陆使用说明的更多相关文章

  1. 百度apistore第三方登陆

    最近做一个个人博客,其中的登陆模块我想使用第三方登陆来做.上网搜一下有好多例子,但是大多数都是一个网站的第三方登陆,如QQ.微博.人人,没有集成的组件,于是就在网上搜一下百度的apistore,百度果 ...

  2. 网站添加第三方登陆(PHP版)

    这两周正在写毕业设计,我做的是一个问答网站.先介绍一下这个网站:这是一个关于大学生在线问答的网站,类似知乎和百度知道,不过功能没有人家多,毕竟这个网站我一个人在做.网站部署在阿里云,网站包括API,W ...

  3. sau交流学习社区第三方登陆github--oauth来实现用户登录

    sau交流学习社区第三方登陆github--oauth来实现用户登录 最近在丰富nodejsBlog开发的“交流学习社区”(https://www.mwcxs.top)的其他功能以及修复一些bug. ...

  4. Oauth2.0 QQ&微信&微博实现第三方登陆

    一.写在前面 目前对于大多数的App或Web网站都支持有第三方登陆这个功能,用户可使用 QQ/ 微信/ 微博 帐号快速登录你的网站,降低注册门槛,为你的网站带来海量新用户.最近在新项目上刚好用到了,在 ...

  5. Django之第三方登陆模块

    Django之第三方登陆模块 前期准备 安装 django-allauth pip install django-allauth 注意,django-allauth 需要在 Django1.10以上版 ...

  6. QQ,微信第三方登陆

    感觉越是大公司的SDK越不好用,其实我也是一直在想为什么他们拿那么高的工资却干着不相应的事儿. 下面说下QQ和微信第三方登陆的一点坑 首先 (QQ互联)自带的sdk中  一个文件工程没有调用产生关联错 ...

  7. OAuth协议——PHP第三方登陆协议

    慕课网Badguy老师的良心课程! 总会有那种什么都不想干的时候,但现在的日子又不这么允许个人的放纵,我一般就只有这几个选择:看课程视频,看书,看小说..好像还是有可以做的事情.其中,看课程视频有点无 ...

  8. 微信第三方登陆,无需注册一键登录,获取用户信息,PHP实现方法

    今天讲讲利用微信oauth2实现第三方登陆的实现方法. 先说说前提吧! 首先你得是服务号,并且是经过认证的.这样微信会给你很多第三方接口的权限,如果是订阅号或者没有认证的服务号那就不用想了! 一开始你 ...

  9. C#网站实现QQ第三方登陆# C#快速开发教程

    C#网站实现QQ第三方登陆 说起在网站上面可以直接使用QQ登录功能大家并不陌生.但翻其官方提供的SDK包中却没有C#方向的. 但是我们有个牛人叫张善友,做了一个民间SDK.下面我们就是用他所写的SDK ...

随机推荐

  1. jquery Ztree v3.5 实例2 自定义显示在节点前的图片

    显示效果如下: 代码如下: <html> <head><title></title></head> <script type=&quo ...

  2. Neutron数据库同步错误 NotImplementedError: No support for ALTER of constraints in SQLite dialect

    错误信息 root@controller:~# su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron. ...

  3. [RabbitMQ]Error: unable to connect to node rabbit@compute1: nodedown(CentOS7.0)

    今天在搭建OpenStack的时候需要安装RabbitMQ,可是使用yum install rabbitmq-server安装之后,按照OpenStack官方提供的文档修改guest用户密码的时候却出 ...

  4. return break continue 的区别

    1)break     直接跳出当前的循环,从当前循环外面开始执行,忽略循环体中任何其他语句和循环条件测试.他只能跳出一层循环,如果你的循环是嵌套循环,那么你需要按照你嵌套的层次,逐步使用break来 ...

  5. InterviewProblems

    package com.xiaoysec; /** * 下面是面试趣医网技术面的时候出现的一个简单的题目 题目的要求是将一个数组中的奇数和偶数进行分离 以奇数在前一部分为例进行解题 * 算法的主要思想 ...

  6. 浅谈C中的指针和数组(四)

    原文转载地址:http://see.xidian.edu.cn/cpp/html/476.html 在原文的基础上增加自己的思想作为自己的修改 指针数组和数组指针的内存布局 初学者总是分不出指针数组与 ...

  7. Ubuntu14.04(64位)安装ATI_Radeon_R7_M265显卡驱动

    电脑型号:Dell inspiron 14-5447 笔记本 显卡配置:集成显卡Intel核心显卡,Cpu是i5-4210U;独立显卡ATI_Radeon_R7_M265 网上关于ATI/Intel双 ...

  8. 深入理解this对象

    最近一直在看js关于面向对象编程方面的东西,那么this肯定是需要一个被吃透 理解 同时灵活运用的对象 现在总结一下自己的学习成果: 我们可以用一句很形象的话来理解什么是this关键字? " ...

  9. iOS下移除按钮原生样式

    按钮样式,在 Android 手机浏览器中显示正常,但在 iOS Safari 浏览器中会看到按钮显示为圆角样式,设置 border-radius:0; 也不好使. 这是因为iPhone.iPad 设 ...

  10. 网站linux.linuxidc.com有很多好资料

    免费下载地址在 http://linux.linuxidc.com/ 用户名与密码都是www.linuxidc.com 有一些介绍:www.linuxidc.com/download