mirror of
				https://github.com/elyby/oauth2-server.git
				synced 2025-05-31 14:12:07 +05:30 
			
		
		
		
	
		
			
				
	
	
		
			41 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace LeagueTests\AuthorizationValidators;
 | 
						|
 | 
						|
use Lcobucci\JWT\Builder;
 | 
						|
use League\OAuth2\Server\AuthorizationValidators\BearerTokenValidator;
 | 
						|
use League\OAuth2\Server\CryptKey;
 | 
						|
use League\OAuth2\Server\Repositories\AccessTokenRepositoryInterface;
 | 
						|
use PHPUnit\Framework\TestCase;
 | 
						|
use Zend\Diactoros\ServerRequest;
 | 
						|
 | 
						|
class BearerTokenValidatorTest extends TestCase
 | 
						|
{
 | 
						|
    /**
 | 
						|
     * @expectedException League\OAuth2\Server\Exception\OAuthServerException
 | 
						|
     * @expectedExceptionCode 9
 | 
						|
     */
 | 
						|
    public function testThrowExceptionWhenAccessTokenIsNotSigned()
 | 
						|
    {
 | 
						|
        $accessTokenRepositoryMock = $this->getMockBuilder(AccessTokenRepositoryInterface::class)->getMock();
 | 
						|
 | 
						|
        $bearerTokenValidator = new BearerTokenValidator($accessTokenRepositoryMock);
 | 
						|
        $bearerTokenValidator->setPublicKey(new CryptKey('file://' . __DIR__ . '/../Stubs/public.key'));
 | 
						|
 | 
						|
        $unsignedJwt = (new Builder())
 | 
						|
            ->setAudience('client-id')
 | 
						|
            ->setId('token-id', true)
 | 
						|
            ->setIssuedAt(time())
 | 
						|
            ->setNotBefore(time())
 | 
						|
            ->setExpiration(time())
 | 
						|
            ->setSubject('user-id')
 | 
						|
            ->set('scopes', 'scope1 scope2 scope3 scope4')
 | 
						|
            ->getToken();
 | 
						|
 | 
						|
        $request = new ServerRequest();
 | 
						|
        $request = $request->withHeader('authorization', sprintf('Bearer %s', $unsignedJwt));
 | 
						|
 | 
						|
        $bearerTokenValidator->validateAuthorization($request);
 | 
						|
    }
 | 
						|
}
 |