private function requestAuthorizationCode($responseType, $scopes, $purpose) {
		$_SESSION[self::SESSION][self::STATE] = self::$SCOPES[$scopes][self::CODE_REQUESTED];
		if ($scopes === self::IDENTITY_TOKEN) {
			header(
				"Location: {$_SESSION[self::SESSION][self::OAUTH_ENDPOINT]}/auth?" . http_build_query(
					array(
						self::CLIENT_ID => $_SESSION[self::SESSION][self::CLIENT_ID],
						self::RESPONSE_TYPE => $responseType,
						self::REDIRECT_URI => $_SESSION[self::SESSION][self::REDIRECT_URI],
						self::STATE => self::$SCOPES[$scopes][self::CODE_PROVIDED],
						self::SCOPES => $scopes,
						self::PURPOSE => $purpose
					)
				)
			);
		} else {
			header(
				"Location: {$_SESSION[self::SESSION][self::OAUTH_ENDPOINT]}/auth?" . http_build_query(
					array(
						self::CLIENT_ID => $_SESSION[self::SESSION][self::CLIENT_ID],
						self::RESPONSE_TYPE => $responseType,
						self::REDIRECT_URI => $_SESSION[self::SESSION][self::REDIRECT_URI],
						self::STATE => self::$SCOPES[$scopes][self::CODE_PROVIDED],
						self::PURPOSE => $purpose
					)
				)
			);
		}
		exit;
	}