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:----wY4XT/SDz+0Vna9yXRY7f6i8NKard4/gR5ffRXqqi9e1KJgXAo3Pa1d+4FAR3ZDy2MPk8ZgYEtxSuPkRNBX9bxG75U2Wnmv+jJ/kGcprHBYj/b1mA4poPFzUmcxVOWouyZMJa0Jh7KHVW/x4dd+Q2r0S4F+mRx6W4BxqxFUWa0BfGO8tF/ncuoK787v+vc8r7OsIUBHso96KIxoBMhge96NlPQ8vERBoikzkjIwb2ORYIJ5hX6m1IMs1DHFA0sJY09qRaEr4RuLOfESXzBqLrVFWI3MHCoCVztYt4PofSkLLMWWMZffzIiXaPxXXOyj3FsrblUWFr/zzlNtFIAe/gaNlIjO64LpCDp7nB2W/v4Svu8qg6ktZdhUWrJdROF7XgQFngWsK0oB3wQuV7jrOREa6Jm9hlxpKRXDAVs+rBm4TLDfqTIAvz+GaNey1l+QdVjYZSCdrdNlsedJzmF6hcU0PtB1Yq4Mopco4F7oHO9KWCNYjuGutRXXpW0PUW++vbEvAXVplt46h+MWQhfHMJbh9djE7BtT8bouvsAVciLVH5pdpJn43FQHDXSskT1Qt0Epznj+Xs2NtCj+xnj14DyV1Vx9A25pJqDgt7RfwdTvWieRb7ArRX1Sha5vBBqvs2pIMsNi2PG0OW/PuDjopRc0PyxRC+2S5w1BSkndjT4s=----ATTACHMENT:----MjQ3NDEzOTU0MDI3Nzk5MCA3MjU0NDc1NjU2MzcwNjU3IDM0ODQ2ODQzMzkzOTQyNzk=