前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >怎么快速集成QQ微博等第三方授权登录功能?

怎么快速集成QQ微博等第三方授权登录功能?

作者头像
沈唁
发布2018-08-21 15:07:29
7670
发布2018-08-21 15:07:29
举报
文章被收录于专栏:沈唁志

日常项目中经常会用到QQ授权登录或者微信授权登录,方便了用户,否则需要手机验证码等等的操作,授权登录只需要一键操作

OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版

第三方授权登录基本都使用的这个标准,经典最常用的一种授权模式:授权码模式

  1. 用户访问第三方应用
  2. 第三方应用请求用户授权
  3. 用户同意授权,并返回一个凭证(code)
  4. 第三方应用通过第二步的凭证(code)向授权服务器请求授权
  5. 授权服务器验证凭证(code)通过后,同意授权,并返回一个资源访问的凭证(Access Token)
  6. 第三方应用通过第四步的凭证(Access Token)向资源服务器请求相关资源
  7. 资源服务器验证凭证(Access Token)通过后,将第三方应用请求的资源返回

因为第三方都遵守这个标准,所以请求方式基本类似,可以进行封装

目前我已经集成好了QQ、微博、Github的授权登录,能够拿到用户信息

但是可能还是有一些地方没有考虑到,未做处理,后期再继续修改吧

同时我也提供了Demo去测试,Demo实例图如下:

安装

使用composer进行加载,使用如下命令:

代码语言:javascript
复制
composer require sy-records/oauth-login

或者手动安装,需要什么登录就引入什么登录文件,例如 test文件夹中 demo

使用

使用的话,也就十分简单了,实例化后调用方法即可,前提是配置好具体的参数,开启curl扩展、session.auto_start扩展

QQ授权登录
代码语言:javascript
复制
use Auth\QqConnect;

# https://connect.qq.com/manage.html#/ 创建应用
$appId = ''; # APP ID
$appKey = '';# APP Key
$callBackUrl = ''; # 授权回调地址

$qqAuth = new QqConnect($appId,$appKey,$callBackUrl);
# 授权登录页面
$qqAuth->qqLogin();
# 授权回调方法
$res = $qqAuth->qqCallBack();
var_dump($res); # 用户信息
微博授权登录
代码语言:javascript
复制
use Auth\WeiboConnect;

# http://open.weibo.com/apps/new?sort=web 创建网站应用
$appKey = ''; # 网站应用申请后的App Key
$appSecret = ''; # 网站应用申请后的App Secret
$callback = ''; # 授权回调地址

$weiboAuth = new WeiboConnect($appKey,$appSecret,$callback);
# 授权登录页面
$weiboAuth->weiboLogin();
# 授权回调方法
$res = $weiboAuth->weiboCallBack();
var_dump($res); # 用户信息
Github授权登录
代码语言:javascript
复制
use Auth\GithubConnect;

# https://github.com/settings/developers 创建OAuth App
$clientId = ''; # 创建OAuth App得到的Client ID
$clientSecret = ''; # 创建OAuth App得到的Client Secret
$callback = ''; # Authorization callback URL 回调地址

$githubAuth = new GithubConnect($clientId,$clientSecret,$callback);
# 授权登录页面
$githubAuth->githubLogin();
# 授权回调方法
$res = $githubAuth->githubCallBack();
var_dump($res); # 用户信息

就酱紫,直接使用就好了,拿到用户信息以后完成你的业务逻辑,项目地址:Github,如果帮助到你了,请给一个star ?

沈唁志|一个PHPer的成长之路! 原创文章采用CC BY-NC-SA 4.0协议进行许可,转载请注明:转载自:怎么快速集成QQ微博等第三方授权登录功能?

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-07-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装
  • 使用
    • QQ授权登录
      • 微博授权登录
        • Github授权登录
        相关产品与服务
        验证码
        腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档