php百度第三方登录的实现

本文介绍了如何使用PHP实现百度第三方登录,包括在百度开发者中心申请API Key和Secret Key,回调地址的概念,以及第三方登录的认证过程:账号登录、用code换取Access Token、获取用户信息和退出登录。重点在于回调地址的设置和处理从网页获取的数据。
摘要由CSDN通过智能技术生成

php第三方登录的实现:百度篇

​ 第三方登录依赖用户在别的网站注册所留的信息,所以必须到人家的网站去申请,如今各大网站都给出了自己的API接口,以百度为例,到百度开发者中心申请API Key和Secret Key,然后下载对应的SDK回来,基本工作就做的差不多了。

​ 也许在开始之前你需要先了解一下什么是Access Token,简单理解就是一个密钥,相当于你有这个钥匙,才可以去打开百度的数据大门,才可以拿到你想要的数据,用户名、用户头像这些东西。

​ 再说一下回调地址,相当于一个中转页面,你需要在这个页面不断的在你的网站和百度之间重定向,以获取数据。

​ 一个重要的事情要说一下,你下载到的SDK是个坑,用的时候一堆错,我用的时候报了个错说有一个cookie未定义,不是自己写的真不知道去哪找这个cookie,不过你了解一下认证过程,完全可以自己写一个第三方登录,最复杂的地方就是在回调地址里面从网页获取数据,其他地方没有难点。

​ 下面说一下第三方登录的认证过程。

​ 1.账号登录

​ 当你在某个网站使用百度账号进行第三方登录,页面会弹出登录框,留意一下你的浏览器地址栏,地址已经不再是当前网站,而是https://openapi.baidu.com/oauth/2.0/authorize?response_type=code&client_id=###&redirect_uri=###,这是百度的开放接口。在你的项目里面放置一个百度登录按钮,点击跳转到这个地址就好。你输入的账号信息直接在百度进行验证,这里面涉及几个参数:clien

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
THINKPHP最全第三方登录(包括腾讯QQ、微信、新浪微博、Github、淘宝网、百度、搜狐微博、人人、360、网易等等) 使用方式: 1、使用命名空间 use Org\ThinkSDK\ThinkOauth; 2、设置三方登录的类别并赋予一个变量 $type = ThinkOauth::getInstance('qq'); 3、设置配置文件 'THINK_SDK_(TYPE)' => array( 'APP_KEY' => '', //应用注册成功后分配的 APP ID 'APP_SECRET' => '', //应用注册成功后分配的KEY 'CALLBACK' => '', //注册应用填写的callback ), 上文中的(TYPE)为设置的类别,其值目前有以下几个: //腾讯QQ登录配置 THINK_SDK_QQ // 用户基本信息API接口 user/get_user_info //腾讯微博配置 THINK_SDK_TENCENT // 用户基本信息API接口 user/info //新浪微博配 THINK_SDK_SINA // 用户基本信息API接口 users/show。附加参数:'uid='.$obj->openid() //网易微博配置 THINK_SDK_T163 // 用户基本信息API接口 users/show //人人网配置 THINK_SDK_RENREN // 用户基本信息API接口 users.getInfo //360配置 THINK_SDK_X360 // 用户基本信息API接口 user/me //豆瓣配置 THINK_SDK_DOUBAN // 用户基本信息API接口 user/~me //Github配置 THINK_SDK_GITHUB // 用户基本信息API接口 user //Google配置 THINK_SDK_GOOGLE // 用户基本信息API接口 userinfo //MSN配置 THINK_SDK_MSN // 用户基本信息API接口 msn。附加参数:token //点点配置 THINK_SDK_DIANDIAN // 用户基本信息API接口 user/info //淘宝网配置 THINK_SDK_TAOBAO // 用户基本信息API接口 taobao.user.buyer.get。附加参数:'fields=user_id,nick,sex,buyer_credit,avatar,has_shop,vip_info' //百度配置 THINK_SDK_BAIDU // 用户基本信息API接口 passport/users/getLoggedInUser // 注意,百度的头像位置是http://tb.himg.baidu.com/sys/portrait/item/{$data['portrait']} //开心网配置 THINK_SDK_KAIXIN // 用户基本信息API接口 users/me //搜狐微博配置 THINK_SDK_SOHU // 用户基本信息API接口 i/prv/1/user/get-basic-info 4、实例化一个登录页面 redirect($type->getRequestCodeURL()); 这里的$type是第二部获取的结果 5、回调页面 $code = $this->get('code'); $type = 'QQ'; $sns = ThinkOauth::getInstance($type); //腾讯微博需传递的额外参数 $extend = null; if($type == 'tencent'){ $extend = array('openid' => $this->_get('openid'), 'openkey' => $this->_get('openkey')); } //请妥善保管这里获取到的Tok
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值