2017 © Pedro Peláez
 

library sync-login

A third party login plugin

image

liaodeity/sync-login

A third party login plugin

  • Sunday, November 12, 2017
  • by liaodeity
  • Repository
  • 1 Watchers
  • 0 Stars
  • 8 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 60 % Grown

The README.md

sync-login

写在最前面,之前帮忙写个第三方登录类,找了下开源项目,好像没有好的类库正常调用使用,所以将自己修改的ThinkOauth更新到这里。, (*1)

这是一个第三方登录类,可以对sdk的使用情况,进行封装多种第三方授权登录, (*2)

目录

Composer安装
key密钥配置
获取登录跳转授权地址
授权后回调处理
Example完整Demo
目前已测试通过
联系作者, (*3)

Composer安装

``` base $ composer require liaodeity/sync-login dev-master, (*4)


## key密钥配置 配置名称必须大写,名称与src/sdk的类名相同 如src/sdk/QqSDK.class.php的配置名前缀为QQ ``` php return [ 'QQ_KEY' => '',//QQ互联key 'QQ_SECRET' => '',//QQ互联secret 'SINA_KEY' => '',//新浪key 'SINA_SECRET' => '',//新浪secret 'CALLBACK_URL' => 'http://www.example.com/example.php'//回调地址,测试为当前地址 ];

获取登录跳转授权地址

设置好配置后,获取授权地址,自行进行调整操作即可 ``` php //获取登录类型 $type = isset($_GET['type']) ? trim ($_GET['type']) : 'qq'; try { $sns = ThinkOauth::getInstance ($type, self::config ()); //TODO 使用跳转函数处理跳转 echo $sns->getRequestCodeURL (); } catch (Exception $e) { // TODO 异常报错处理 var_dump ($e->getMessage ()); }, (*5)


## 授权后回调处理 接收参数,调用CallBack进行处理,将返回授权后获取的信息。 ``` php //获取传递参数值 $request = $_REQUEST; $config = [];//配置 try { $syncLoginModel = new CallBack(); $userInfo = $syncLoginModel->init ($config, $request); // @TODO 处理登录业务逻辑 var_dump ($userInfo); } catch (Exception $e) { // TODO 异常报错处理 var_dump ($e->getMessage ()); }

Demo Example

设置一个完整的demo调用方法 ``` php <?php, (*6)

use Liaodeity\SyncLogin\CallBack; use Liaodeity\SyncLogin\ThinkOauth;, (*7)

//如果使用composer将不用进行手动导入类 require_once '../src/ThinkOauth.php'; require_once '../src/SyncLoginModel.php'; require_once '../src/CallBack.php';, (*8)

error_reporting (E_ALL ^ E_NOTICE);, (*9)

/** * 本类为测试类,其中的一些接收参数未进行过滤等,请测试安全性后再部署正式 * Class Example */ class Example { /** * 授权地址类 */ public static function login () { //获取登录类型 $type = isset($_GET['type']) ? trim ($_GET['type']) : 'qq'; try { $sns = ThinkOauth::getInstance ($type, self::config ()); //TODO 使用跳转函数处理跳转 echo $sns->getRequestCodeURL (); } catch (Exception $e) { // TODO 异常报错处理 var_dump ($e->getMessage ()); } }, (*10)

//默认配置类
public static function config ()
{
    return [
        'QQ_KEY'       => '',//QQ互联key
        'QQ_SECRET'    => '',//QQ互联secret
        'SINA_KEY'     => '',//新浪key
        'SINA_SECRET'  => '',//新浪secret
        'CALLBACK_URL' => 'http://www.example.com/example.php'//回调地址,测试为当前地址
    ];
}

/**
 * 回调处理类
 */
public static function callback ()
{
    //获取传递参数值
    $request = $_REQUEST;
    $config  = self::config ();
    try {
        $syncLoginModel = new CallBack();
        $userInfo       = $syncLoginModel->init ($config, $request);
        // @TODO 处理登录业务逻辑
        var_dump ($userInfo);
    } catch (Exception $e) {
        // TODO 异常报错处理
        var_dump ($e->getMessage ());
    }
}

}, (*11)

//初始化调用 if (isset($_GET['code'])) { //回调地址需带code Example::callback (); } else { Example::login (); }, (*12)

```, (*13)

目前已测试通过

  • QQ互联
  • 新浪微博

其他的由于没有申请key密钥,所以没办法测试,敬请谅解。但应该均可正常调用,如有问题请联系, (*14)

联系作者

联系邮箱:liaodeity@gmail.com, (*15)

本项目基于ThinkOauth.class.php,来源于优秀的开源代码,感谢作者以及参与者,感谢ThinkPHP, (*16)

The Versions

12/11 2017

dev-master

9999999-dev https://github.com/liaodeity/sync-login

A third party login plugin

  Sources   Download

MIT

The Requires

  • php >=5.4

 

by Liao ChunGui

29/09 2017

dev-develop

dev-develop https://github.com/liaodeity/sync-login

A third party login plugin

  Sources   Download

MIT

by Liao ChunGui