open-orchestra/open-orchestra-cms-bundle

View on GitHub
UserAdminBundle/OAuth2/Strategy/ResourceOwnerPasswordGrantStrategy.php

Summary

Maintainability
A
50 mins
Test Coverage

Method __construct has 7 arguments (exceeds 4 allowed). Consider refactoring.
Open

        ApiClientRepositoryInterface $apiClientRepository,
        UserRepositoryInterface $userRepository,
        EncoderFactory $encoderFactory,
        Serializer $serializer,
        ValidatorInterface $validator,
Severity: Major
Found in UserAdminBundle/OAuth2/Strategy/ResourceOwnerPasswordGrantStrategy.php - About 50 mins to fix

Parameter $accessTokenRepository has undeclared type \OpenOrchestra\BaseApi\Repository\AccessTokenRepositoryInterface
Open

    public function __construct(

Parameter $apiClientRepository has undeclared type \OpenOrchestra\BaseApi\Repository\ApiClientRepositoryInterface
Open

    public function __construct(

Parameter $accessTokenManager has undeclared type \OpenOrchestra\BaseApi\Manager\AccessTokenManager
Open

    public function __construct(

Return type of getUser() is undeclared type \Symfony\Component\Security\Core\User\UserInterface
Open

    protected function getUser(Request $request)

Reference to instance property headers from undeclared class \Symfony\Component\HttpFoundation\Request
Open

        if (!$encoder->isPasswordValid($user->getPassword(), $request->headers->get('password'), $user->getSalt())) {

Parameter $request has undeclared type \Symfony\Component\HttpFoundation\Request
Open

    protected function getUser(Request $request)

Call to method __construct from undeclared class \OpenOrchestra\BaseApi\Exceptions\HttpException\BadUserCredentialsHttpException
Open

            throw new BadUserCredentialsHttpException();

Reference to undeclared property \OpenOrchestra\UserAdminBundle\OAuth2\Strategy\ResourceOwnerPasswordGrantStrategy->validator
Open

        if (!$accessToken->isValid($this->validator)) {

Reference to instance property refreshToken from undeclared class \OpenOrchestra\BaseApi\Facade\OAuth2\AccessTokenFacade
Open

        $tokenFacade->refreshToken = $accessToken->getRefreshCode();

Returning type \OpenOrchestra\BaseApi\Facade\OAuth2\AccessTokenFacade but requestToken() is declared to return \OpenOrchestra\BaseApi\Facade\FacadeInterface|\Symfony\Component\Validator\ConstraintViolationListInterface
Open

        return $tokenFacade;

Class extends undeclared class \OpenOrchestra\BaseApi\OAuth2\Strategy\AbstractOAuth2Strategy
Open

class ResourceOwnerPasswordGrantStrategy extends AbstractOAuth2Strategy

Parameter $userRepository has undeclared type \OpenOrchestra\UserBundle\Repository\UserRepositoryInterface
Open

    public function __construct(

Call to method get from undeclared class \Symfony\Component\HttpFoundation\Request
Open

        $oauthParams = $request->get('grant_type') === 'password' && $request->headers->get('username') && $request->headers->get('password');

Parameter $validator has undeclared type \Symfony\Component\Validator\Validator\ValidatorInterface
Open

    public function __construct(

Reference to instance property expiresAt from undeclared class \OpenOrchestra\BaseApi\Facade\OAuth2\AccessTokenFacade
Open

        $tokenFacade->expiresAt    = $accessToken->getExpiredAt();

Call to method getEncoder from undeclared class \Symfony\Component\Security\Core\Encoder\EncoderFactory
Open

        $encoder = $this->encoderFactory->getEncoder($user);

Call to method getUser from undeclared class \Symfony\Component\HttpFoundation\Request
Open

        $clientExist = $request->getUser() && $request->getPassword();

Parameter $request has undeclared type \Symfony\Component\HttpFoundation\Request
Open

    public function requestToken(Request $request)

Call to method __construct from undeclared class \OpenOrchestra\BaseApi\Facade\OAuth2\AccessTokenFacade
Open

        $tokenFacade = new AccessTokenFacade();

Call to method getPassword from undeclared class \Symfony\Component\HttpFoundation\Request
Open

        $clientExist = $request->getUser() && $request->getPassword();

Parameter $request has undeclared type \Symfony\Component\HttpFoundation\Request
Open

    public function supportRequestToken(Request $request)

Return type of requestToken() is undeclared type \Symfony\Component\Validator\ConstraintViolationListInterface
Open

    public function requestToken(Request $request)

Reference to instance property accessToken from undeclared class \OpenOrchestra\BaseApi\Facade\OAuth2\AccessTokenFacade
Open

        $tokenFacade->accessToken  = $accessToken->getCode();

Reference to undeclared class \OpenOrchestra\BaseApi\OAuth2\Strategy\AbstractOAuth2Strategy
Open

        parent::__construct($apiClientRepository, $serializer, $validator, $accessTokenManager, $accessTokenRepository);

Call to undeclared method \OpenOrchestra\UserAdminBundle\OAuth2\Strategy\ResourceOwnerPasswordGrantStrategy::getClient
Open

        $client = $this->getClient($request);

Reference to undeclared property \OpenOrchestra\UserAdminBundle\OAuth2\Strategy\ResourceOwnerPasswordGrantStrategy->accessTokenManager
Open

        $accessToken = $this->accessTokenManager->createWithExpirationDate($client, $user);

Parameter $encoderFactory has undeclared type \Symfony\Component\Security\Core\Encoder\EncoderFactory
Open

    public function __construct(

Parameter $serializer has undeclared type \JMS\Serializer\Serializer
Open

    public function __construct(

Reference to undeclared property \OpenOrchestra\UserAdminBundle\OAuth2\Strategy\ResourceOwnerPasswordGrantStrategy->accessTokenManager
Open

        $this->accessTokenManager->save($accessToken);

Reference to instance property headers from undeclared class \Symfony\Component\HttpFoundation\Request
Open

        $user = $this->userRepository->findOneByUsername($request->headers->get('username'));

Reference to instance property headers from undeclared class \Symfony\Component\HttpFoundation\Request
Open

        $oauthParams = $request->get('grant_type') === 'password' && $request->headers->get('username') && $request->headers->get('password');

Return type of requestToken() is undeclared type \OpenOrchestra\BaseApi\Facade\FacadeInterface
Open

    public function requestToken(Request $request)

@throws type of getUser has undeclared type \OpenOrchestra\BaseApi\Exceptions\HttpException\BadUserCredentialsHttpException
Open

    protected function getUser(Request $request)

Call to method findOneByUsername from undeclared class \OpenOrchestra\UserBundle\Repository\UserRepositoryInterface
Open

        $user = $this->userRepository->findOneByUsername($request->headers->get('username'));

Call to method __construct from undeclared class \OpenOrchestra\BaseApi\Exceptions\HttpException\BadUserCredentialsHttpException
Open

            throw new BadUserCredentialsHttpException();

Avoid excessively long variable names like $accessTokenRepository. Keep variable name length under 20.
Open

        AccessTokenRepositoryInterface $accessTokenRepository

LongVariable

Since: 0.2

Detects when a field, formal or local variable is declared with a long name.

Example

class Something {
    protected $reallyLongIntName = -3; // VIOLATION - Field
    public static function main( array $interestingArgumentsList[] ) { // VIOLATION - Formal
        $otherReallyLongName = -5; // VIOLATION - Local
        for ($interestingIntIndex = 0; // VIOLATION - For
             $interestingIntIndex < 10;
             $interestingIntIndex++ ) {
        }
    }
}

Source https://phpmd.org/rules/naming.html#longvariable

The closing parenthesis and the opening brace of a multi-line function declaration must be on the same line
Open

    {

Multi-line function declaration not indented correctly; expected 4 spaces but found 8
Open

        )

Line exceeds 120 characters; contains 142 characters
Open

        $oauthParams = $request->get('grant_type') === 'password' && $request->headers->get('username') && $request->headers->get('password');

There are no issues that match your filters.

Category
Status