src/AppBundle/Controller/OAuth2/LoginController.php
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<?php
namespace AppBundle\Controller\OAuth2;
use AppBundle\Common\TimeMachine;
use AppBundle\Component\RateLimit\LoginFailRateLimiter;
use AppBundle\Component\RateLimit\RegisterRateLimiter;
use AppBundle\Controller\LoginBindController;
use Biz\Common\CommonException;
use Biz\Distributor\Util\DistributorCookieToolkit;
use Biz\Common\BizSms;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
class LoginController extends LoginBindController
{
public function mainAction(Request $request)
{
$oauthUser = $this->getOauthUser($request);
return $this->render('oauth2/index.html.twig', array(
'oauthUser' => $oauthUser,
));
}
public function appAction(Request $request)
{
$accessToken = $request->query->get('access_token');
$openid = $request->query->get('openid');
$type = $request->query->get('type');
$os = $request->query->get('os');
$appid = $request->query->get('appid');
if (!in_array($os, array('iOS', 'Android'))) {
$this->createNewException(CommonException::ERROR_PARAMETER());
}
$client = $this->createOAuthClient($type);
$oUser = $client->getUserInfo($client->makeToken($type, $accessToken, $openid, $appid));
$this->storeOauthUserToSession($request, $oUser, $type, $os);
return $this->redirect($this->generateUrl('oauth2_login_index'));
}
public function bindAccountAction(Request $request)
{
$oauthUser = $this->getOauthUser($request);
$type = $request->request->get('accountType');
$account = $request->request->get('account');
$user = $this->getUserByTypeAndAccount($type, $account);
$oauthUser->accountType = $type;
$oauthUser->account = $account;
$oauthUser->isNewAccount = $user ? false : true;
$oauthUser->captchaEnabled = OAuthUser::MOBILE_TYPE == $oauthUser->accountType ? false : true;
if ($oauthUser->isNewAccount) {
$redirectUrl = $this->generateUrl('oauth2_login_create');
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。