/** * @param array $params * * @return \OAuth2\Endpoint\Authorization */ public function createFromStandardRequest(array $params) { $authorization = new Authorization(); $authorization->setQueryParams($params); $methods = ['setRedirectUri' => 'redirect_uri', 'setResponseMode' => 'response_mode', 'setResponseType' => 'response_type', 'setClientId' => 'client_id', 'setState' => 'state', 'setNonce' => 'nonce', 'setClaims' => 'claims', 'setMaxAge' => 'max_age', 'setDisplay' => 'display', 'setPrompt' => 'prompt', 'setUiLocales' => 'ui_locales', 'setIdTokenHint' => 'id_token_hint', 'setLoginHint' => 'login_hint', 'setAcrValues' => 'acr_values']; foreach ($methods as $method => $param) { $authorization->{$method}(isset($params[$param]) ? $params[$param] : null); } $this->populateClient($params, $authorization); $this->populateScope($params, $authorization); $this->checkDisplay($authorization); $this->checkPrompt($authorization); return $authorization; }