zoukankan      html  css  js  c++  java
  • 百度apistore第三方登陆使用说明

           最近做一个个人博客,其中的登陆模块我想使用第三方登陆来做。上网搜一下有好多例子,但是大多数都是一个网站的第三方登陆,如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":"u900du9065u5e1du541b","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中

  • 相关阅读:
    Redis集群的搭建
    CAS部署在Windows上
    Loadrunner中Error-26612HTTP Status-Cod
    Coneroller执行时候的-26374及-26377错误
    Loadrunner 26377错误
    歌名也好笑
    loadrunner 中Error和failed transaction 的区别
    loadrunner 性能测试报error-27796的解决
    lr11.0负载测试 real-world schedule 与basic schedule的区别是什么
    LR中错误代号为27796的一个解决方法
  • 原文地址:https://www.cnblogs.com/xiaoyaodijun/p/4955223.html
Copyright © 2011-2022 走看看