PHPackages                             tcpadmin/sns-auth - 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. tcpadmin/sns-auth

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

tcpadmin/sns-auth
=================

weixin weibo qq alipay twitter google line facebook sns oauth

1.0.1(6y ago)119MITPHPPHP &gt;=5.6.0

Since Nov 17Pushed 6y ago1 watchersCompare

[ Source](https://github.com/tcpadmin/sns-auth)[ Packagist](https://packagist.org/packages/tcpadmin/sns-auth)[ RSS](/packages/tcpadmin-sns-auth/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (1)Versions (3)Used By (0)

通用第三方登录说明文档
===========

[](#通用第三方登录说明文档)

clone 的 anerg2046/sns\_auth 并新增了 setTokenInfo 方法 用于处理客户端直接获取到token信息的情况

2.0 版本全新发布，目前支持的登录平台包括：

- 微信
- QQ
- 微博
- 支付宝
- Facebook
- Twitter
- Line
- Google

### 安装

[](#安装)

```
composer require tcpadmin/sns-auth

```

> 类库使用的命名空间为`\\anerg\\OAuth2`

### 目录结构

[](#目录结构)

```
.
├── README.md                        说明文件
├── composer.json                    composer文件
├── src                              代码源文件目录
│   ├── Connector
│   │   ├── Gateway.php              必须继承的抽象类
│   │   └── GatewayInterface.php     必须实现的接口
│   ├── Gateways
│   │   ├── Alipay.php
│   │   ├── Facebook.php
│   │   ├── Google.php
│   │   ├── Line.php
│   │   ├── Qq.php
│   │   ├── Twitter.php
│   │   ├── Weibo.php
│   │   └── Weixin.php
│   ├── Helper
│   │   └── Str.php                  字符串辅助类
│   └── OAuth.php                    抽象实例类
└── wx_proxy.php                     微信多域名代理文件

```

### 公共方法

[](#公共方法)

在接口文件中，定义了 4 个方法，是每个第三方基类都必须实现的，用于相关的第三方登录操作和获取数据。方法名如下：

```
    /**
     * 得到跳转地址
     */
    public function getRedirectUrl();

    /**
     * 获取当前授权用户的openid标识
     */
    public function openid();

    /**
     * 获取格式化后的用户信息
     */
    public function userinfo();

    /**
     * 获取原始接口返回的用户信息
     */
    public function userinfoRaw();
```

微信有一个额外的方法，用于获取代理请求的地址

```
    /**
     * 获取中转代理地址
     */
    public function getProxyURL();
```

### 典型用法

[](#典型用法)

以 ThinkPHP5 为例

```
