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

OSCHINA-MIRROR/fankers-oauth

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Qq.php 2.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
fangkeke Отправлено 24.10.2017 17:40 fdc1ffa
<?php
namespace fankers;
use fankers\lib\qq\Qq as QqBase;
class Qq
{
public $_inst = null;
public $_class = null;
public $_access_token = '';
public $_open_id = '';
public function __construct($params)
{
##用code 获取token信息
$this->_class = QqBase::class;
if (!$this->_inst) {
$this->_inst = new $this->_class($params);
}
}
/**
* 判断类是否似可调用的
* @param $action
* @return bool
*/
protected function isCall($action)
{
if (is_callable([$this->_inst,$action])) {
return true;
} else {
return false;
}
}
public function index()
{
## code=CODE&state=STATE 确认授权以后跳转到当前方法 带着code
## 生成code
// $qq = new QqBase();
$this->_inst->start();
$code = $_GET['code'];
$params = [
'code' => $code,
];
$result = $userInfo = $openidInfo = [];
## 获取token
if ($this->isCall('token')) {
$result = $this->_inst->token($params);
}
## 获取openid
if (isset($result['access_token'])) {
$this->_access_token = $result['access_token'];
if ($this->isCall('openid')) {
$data = [
'access_token' => $result['access_token']
];
$openidInfo = $this->_inst->openid($data);
}
}
// \helper\Log::debug($openidInfo,'/tmp/fkk_qq_token_log');
## 用返回的token信息 拉取用户信息
if (!empty($openidInfo)) {
$this->_open_id = isset($openidInfo['openid']) ? $openidInfo['openid'] : '';
if ($this->isCall('info')){
$apiData['access_token'] = $result['access_token'];
$apiData['oauth_consumer_key'] = $openidInfo['client_id'];
$apiData['openid'] = $openidInfo['openid'];
$userInfo = $this->_inst->info($apiData);
}
}
return $userInfo;
}
}

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

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

1
https://api.gitlife.ru/oschina-mirror/fankers-oauth.git
git@api.gitlife.ru:oschina-mirror/fankers-oauth.git
oschina-mirror
fankers-oauth
fankers-oauth
master