PHPackages                             liaodeity/sync-login - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. liaodeity/sync-login

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

liaodeity/sync-login
====================

A third party login plugin

044PHP

Since Nov 12Pushed 8y ago1 watchersCompare

[ Source](https://github.com/liaodeity/sync-login)[ Packagist](https://packagist.org/packages/liaodeity/sync-login)[ RSS](/packages/liaodeity-sync-login/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependenciesVersions (1)Used By (0)

sync-login
==========

[](#sync-login)

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

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

目录
--

[](#目录)

> **[Composer安装](#composer%E5%AE%89%E8%A3%85)**
> **[key密钥配置](#key%E5%AF%86%E9%92%A5%E9%85%8D%E7%BD%AE)**
> **[获取登录跳转授权地址](#%E8%8E%B7%E5%8F%96%E7%99%BB%E5%BD%95%E8%B7%B3%E8%BD%AC%E6%8E%88%E6%9D%83%E5%9C%B0%E5%9D%80)**
> **[授权后回调处理](#%E6%8E%88%E6%9D%83%E5%90%8E%E5%9B%9E%E8%B0%83%E5%A4%84%E7%90%86)**
> **[Example完整Demo](#Example%E5%AE%8C%E6%95%B4Demo)**
> **[目前已测试通过](#%E7%9B%AE%E5%89%8D%E5%B7%B2%E6%B5%8B%E8%AF%95%E9%80%9A%E8%BF%87)**
> **[联系作者](#%E8%81%94%E7%B3%BB%E4%BD%9C%E8%80%85)**

Composer安装
----------

[](#composer安装)

```
$ composer require liaodeity/sync-login dev-master

```

key密钥配置
-------

[](#key密钥配置)

配置名称必须大写，名称与src/sdk的类名相同
如src/sdk/QqSDK.class.php的配置名前缀为QQ

```
return [
    'QQ_KEY'       => '',//QQ互联key
    'QQ_SECRET'    => '',//QQ互联secret
    'SINA_KEY'     => '',//新浪key
    'SINA_SECRET'  => '',//新浪secret
    'CALLBACK_URL' => 'http://www.example.com/example.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 ());
}
```

授权后回调处理
-------

[](#授权后回调处理)

接收参数，调用CallBack进行处理，将返回授权后获取的信息。

```
//获取传递参数值
$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-example)

设置一个完整的demo调用方法

```
