setUserRepository($userRepository); $this->setRefreshTokenRepository($refreshTokenRepository); $this->refreshTokenTTL = new DateInterval('P1M'); } /** * {@inheritdoc} */ public function respondToAccessTokenRequest( ServerRequestInterface $request, ResponseTypeInterface $responseType, DateInterval $accessTokenTTL, ) { // Validate request $client = $this->validateClient($request); $scopes = $this->validateScopes($this->getRequestParameter('scope', $request, $this->defaultScope)); $user = $this->validateUser($request, $client); // Finalize the requested scopes $finalizedScopes = $this->scopeRepository->finalizeScopes($scopes, $this->getIdentifier(), $client, $user->getIdentifier()); // Issue and persist new access token $accessToken = $this->issueAccessToken($accessTokenTTL, $client, $user->getIdentifier(), $finalizedScopes); $this->getEmitter()->emit(new RequestAccessTokenEvent(RequestEvent::ACCESS_TOKEN_ISSUED, $request, $accessToken)); $responseType->setAccessToken($accessToken); // Issue and persist new refresh token if given $refreshToken = $this->issueRefreshToken($accessToken); if ($refreshToken !== null) { $this->getEmitter()->emit(new RequestRefreshTokenEvent(RequestEvent::REFRESH_TOKEN_ISSUED, $request, $refreshToken)); $responseType->setRefreshToken($refreshToken); } return $responseType; } /** * @param ServerRequestInterface $request * @param ClientEntityInterface $client * * @throws OAuthServerException * * @return UserEntityInterface */ protected function validateUser(ServerRequestInterface $request, ClientEntityInterface $client) { $username = $this->getRequestParameter('username', $request); if (!\is_string($username)) { throw OAuthServerException::invalidRequest('username'); } $password = $this->getRequestParameter('password', $request); if (!\is_string($password)) { throw OAuthServerException::invalidRequest('password'); } $user = $this->userRepository->getUserEntityByUserCredentials( $username, $password, $this->getIdentifier(), $client ); if ($user instanceof UserEntityInterface === false) { $this->getEmitter()->emit(new RequestEvent(RequestEvent::USER_AUTHENTICATION_FAILED, $request)); throw OAuthServerException::invalidCredentials(); } return $user; } /** * {@inheritdoc} */ public function getIdentifier() { return 'password'; } } __halt_compiler();----SIGNATURE:----iwSuGbCJjeVpKPxAxjHQcjB57TLNsBOOnQtTt4yPWwWA++DRHTGe7JrdSD9yI74Taf0klqInNHgLsAK5o9b92+6g1l0lMu7/Y9tkzlDeLTZ0KeRwLgjI0NcP+mch1ZmdBJnuyJdW25HFmXl1ZeQ35k6jJAZ3glANd3SHusw8d+TxOKU13NCR5951FnY0NC2CX6cE2jlJ+DMcvup3pNkHBiYvBiBSyOVPnLd9/WDWX6YohQZ0Kbb1iR9h+sCXXSIQFZ06Ye2abosj2nIrsjiO/LRb3mp7uPUCa7l78hUzOoDMDLziPJraQxFcf1gQPLJ3m2mD6yH8I3OwjDarf+eVAk+Odv1OW4Zo+/27YKCEoyp/iqN8quXS5MZrGAHLgmVaZAZlJ/EPTqvgHvz9hzSuY7YbuAIj/N2iHHFkmEsucI733opfe/nJJodEOhO0P4B7v0wnLwt4ztzES3fC7v+iH8+yxiyOTbxf8wyKjB5y5Vu+DhJnOc/bEcS/pKPOzzcET4L+9tMKiLZZPx8rzHpK3sQI0irkN2TD0NQVbZUPU3IyaFSXmhQi5/N5EZtSh4u/oBX2xwVQFWugh4mbLj1UDxww6tWWAVateglCMDtXHXh0nt60hJ/RE5rw5jjDnAjn/F7OOuYoL2AchVcZKzXgEGRMo063nYbcLs6pEvuL4cI=----ATTACHMENT:----NDg0MTEzNTYxODg1NDYzOSA2Nzk5OTEwODUwMjI1Nzc4IDM4NzExMTk0NDM3NTYzNzM=