1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/nasir-tp3_sys_oauth

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 4.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 07.03.2025 03:43 b56abbf

sys_auth

расширение пакета для входа с помощью сторонних сервисов в thinkphp 3.x

Поддерживаемые сервисы

  • Вход через QQ от Tencent
  • Вход через WeChat Scan Code
  • Вход через Sina Weibo

Установка (расширение)

Убедитесь, что у вас установлен composer, иначе вы не сможете выполнить команду composer. Для получения информации посетите официальный сайт composer: http://www.phpcomposer.com/

composer require cocolait/sys_oauth

Настройка thinkphp 3.x

thinkphp 3.x версий автоматически не загружают composer, поэтому требуется некоторое ручное вмешательство.

Шаги по настройке

  1. Найдите файл входа index.php
  2. Добавьте следующие строки перед вызовом файла ThinkPHP:
// Загрузка composer
require './vendor/autoload.php';
// Загрузка файла входа ThinkPHP
require './ThinkPHP/ThinkPHP.php';
```### Конфигурация Config
```php
<?php
return [
    //Настройки входа через QQ от Tencent
    'SYA_AUTH_QQ' => [
        'APP_KEY' => '', //Уникальный ключ приложения после регистрации
        'APP_SECRET' => '', //Секретный ключ приложения после регистрации
        'CALLBACK' => '', //Адрес обратного вызова приложения
    ],
    //Настройки входа через Sina Weibo
    'SYA_AUTH_SINA' => [
        'APP_KEY' => '', //Уникальный ключ приложения после регистрации
        'APP_SECRET' => '', //Секретный ключ приложения после регистрации
        'CALLBACK' => '', //Адрес обратного вызова приложения
    ],
    //Настройки входа через WeChat
    'SYA_AUTH_WEIXIN' => [
        'APP_KEY' => '', //Уникальный ключ приложения после регистрации
        'APP_SECRET' => '', //Секретный ключ приложения после регистрации
        'CALLBACK' => '', //Адрес обратного вызова приложения
    ]
];

Пример работы контроллера

Пример для ThinkPHP 3.2.3, требует PHP >= 5.3 или любую версию ThinkPHP 3.x

namespace Home\Controller;
use Think\Controller;
```class OauthController extends Controller {
    //Страница входа
    public function login($type = null){
        if (!$type) $this->error('Ошибка параметров');
        $_SESSION['login_http_referer'] = $_SERVER["HTTP_REFERER"];
        $sns = \Cp\Sys\Oauth::getInstance($type);
        redirect($sns->getRequestCodeURL());
    }

    //Обратный адрес авторизации
    public function callback($type = null, $code = null){
        if (!$type) $this->error('Ошибка параметров');
        if (!$code) {
            redirect(__ROOT__ . "/");
        }
        $sns = \Cp\Sys\Oauth::getInstance($type);
        $extend = null;
        //Получение access_token
        $token = $sns->getAccessToken($code, $extend);
        //Получение данных пользователя
        if (is_array($token)) {
            $user_info = \Cp\Sys\GetInfo::getInstance($type, $token);
        } else {
            var_dump($user_info);
        }
    }
}

# DEMO описание
> В качестве примера используется ThinkPHP 3. 2. 3
- Требования к окружению: PHP >= 5. 3
- Обработка контроллером: /demo/Application/Api/Controller
- Конфигурационный файл: /demo/Application/Common/Conf/config.php
> Запустите демо проект http://127.0.0.1/demo

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/nasir-tp3_sys_oauth.git
git@api.gitlife.ru:oschina-mirror/nasir-tp3_sys_oauth.git
oschina-mirror
nasir-tp3_sys_oauth
nasir-tp3_sys_oauth
master