44 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						||
 | 
						||
namespace app\manystoreapi\controller;
 | 
						||
 | 
						||
use app\common\controller\ManystoreApiBase;
 | 
						||
use fast\Random;
 | 
						||
 | 
						||
/**
 | 
						||
 * 机构API后台:Token接口
 | 
						||
 */
 | 
						||
class Token extends ManystoreApiBase
 | 
						||
{
 | 
						||
    protected $noNeedLogin = [];
 | 
						||
    protected $noNeedRight = '*';
 | 
						||
 | 
						||
    /**
 | 
						||
     * 检测Token是否过期
 | 
						||
     *
 | 
						||
     */
 | 
						||
    public function check()
 | 
						||
    {
 | 
						||
        $token = $this->auth->getToken();
 | 
						||
//        $tokenInfo = \app\common\library\Token::get($token);
 | 
						||
        $tokenInfo = \app\common\library\Token::init($this->auth->init_data)->get($token);
 | 
						||
        $this->apisuccess('', ['token' => $tokenInfo['token'], 'expires_in' => $tokenInfo['expires_in']]);
 | 
						||
    }
 | 
						||
 | 
						||
    /**
 | 
						||
     * 刷新Token
 | 
						||
     *
 | 
						||
     */
 | 
						||
    public function refresh()
 | 
						||
    {
 | 
						||
        //删除源Token
 | 
						||
        $token = $this->auth->getToken();
 | 
						||
        \app\common\library\Token::init($this->auth->init_data)->delete($token);
 | 
						||
        //创建新Token
 | 
						||
        $token = Random::uuid();
 | 
						||
        \app\common\library\Token::init($this->auth->init_data)->set($token, $this->auth->id, 2592000);
 | 
						||
        $tokenInfo = \app\common\library\Token::init($this->auth->init_data)->get($token);
 | 
						||
        $this->apisuccess('', ['token' => $tokenInfo['token'], 'expires_in' => $tokenInfo['expires_in']]);
 | 
						||
    }
 | 
						||
}
 |