/** * 发放授权TOKEN */ public function actionToken() { $params = Yii::$app->getRequest()->get(); $params = array_map('htmlEntityString', $params); $params = array_map('trim', $params); $app_id = isset($params['app_id']) && $params['app_id'] ? $params['app_id'] : ''; $app_key = isset($params['app_key']) && $params['app_key'] ? $params['app_key'] : ''; if (!$app_id || !$app_key) { Yii::$app->util->formatResData(1, 'app_id和app_key不能为空', []); } try { $application = ApplicationBase::find()->where(['app_id' => $app_id, 'app_key' => $app_key])->asArray()->one(); if (!$application) { Yii::$app->util->formatResData(2, '无效的app_id或app_key', []); } $accessToken = new AccessToken(); $appToken = $accessToken->validateAccessToken($app_id, $app_key); if ($appToken) { // 已存在TOKEN,且没有过期 Yii::$app->util->formatResData(3, '', $appToken); } $token = generateRandString(); $expires_in = date('Y-m-d H:i:s', time() + self::EXPIRES_IN); $result = $accessToken->setAccessToken($token, $app_id, $app_key, $expires_in); if ($result) { $return['access_token'] = $token; $return['expires_in'] = $expires_in; Yii::$app->util->formatResData(0, '', $return); } else { Yii::$app->util->formatResData(4, '网络出错,请稍后重试', []); } } catch (Exception $ex) { Yii::$app->util->formatResData(5, '网络出错,请稍后重试', []); } }