AuthBucket\OAuth2\Tests\TestBundle\Controller\DemoController::requestCodeAction PHP Method

requestCodeAction() public method

public requestCodeAction ( Request $request, Silex\Application $app )
$request Symfony\Component\HttpFoundation\Request
$app Silex\Application
    public function requestCodeAction(Request $request, Application $app)
    {
        $session = $request->getSession();
        $_username = $session->get('_username', substr(md5(uniqid(null, true)), 0, 8));
        $_password = $session->get('_password', substr(md5(uniqid(null, true)), 0, 8));
        $session->set('_username', $_username);
        $session->set('_password', $_password);
        $userManager = $app['authbucket_oauth2.model_manager.factory']->getModelManager('user');
        $user = $userManager->createUser()->setUsername($_username)->setPassword($_password)->setRoles(['ROLE_USER']);
        $userManager->updateUser($user);
        $parameters = ['response_type' => 'code', 'client_id' => 'authorization_code_grant', 'redirect_uri' => $request->getUriForPath('/demo/response_type/code'), 'scope' => 'demoscope1 demoscope2 demoscope3', 'state' => $session->getId()];
        $url = Request::create($request->getUriForPath('/demo/authorize'), 'GET', $parameters)->getUri();
        return $app->redirect($url);
    }