46 lines
1.5 KiB
PHP
46 lines
1.5 KiB
PHP
<?php namespace Phpcmf\Control\Api;
|
|
/**
|
|
* https://www.besyun.com
|
|
* BESCMS
|
|
* 本文件是框架系统文件,二次开发时不可以修改本文件
|
|
**/
|
|
|
|
// 快捷登录接口
|
|
class Oauth extends \Phpcmf\Common
|
|
{
|
|
|
|
/**
|
|
* 快捷登录
|
|
*/
|
|
public function index() {
|
|
|
|
$name = dr_safe_filename(\Phpcmf\Service::L('input')->get('name'));
|
|
$type = dr_safe_replace(\Phpcmf\Service::L('input')->get('type'));
|
|
$back = dr_safe_replace(\Phpcmf\Service::L('input')->get('back'));
|
|
$action = dr_safe_replace(\Phpcmf\Service::L('input')->get('action'));
|
|
|
|
// 非授权登录时必须验证登录状态
|
|
if ($type != 'login' && !$this->uid) {
|
|
$this->_msg(0, dr_lang('你还没有登录'));
|
|
} elseif (!$name) {
|
|
$this->_msg(0, dr_lang('未知接入商'));
|
|
}
|
|
|
|
// 请求参数
|
|
$appid = $this->member_cache['oauth'][$name]['id'];
|
|
$appkey = $this->member_cache['oauth'][$name]['value'];
|
|
$callback_url = OAUTH_URL.'index.php?s=api&c=oauth&m=index&action=callback&name='.$name.'&type='.$type;
|
|
if ($back) {
|
|
$callback_url.= '&back='.urlencode(dr_redirect_safe_check($back));
|
|
}
|
|
|
|
$file = FCPATH.'ThirdParty/OAuth/'.ucfirst($name).'/Run.php';
|
|
if (is_file($file)) {
|
|
require $file;
|
|
} else {
|
|
$this->_msg(0, IS_DEV ? dr_lang('没有找到接入商(%s)执行程序', $file) : dr_lang('没有找到接入商的执行程序'));
|
|
}
|
|
}
|
|
|
|
}
|