mirror of
https://github.com/elyby/oauth2-server.git
synced 2024-12-16 10:18:55 +05:30
Added client credentials grant function
This commit is contained in:
parent
7a646d3a84
commit
463803f74d
@ -806,6 +806,135 @@ class Authentication_Server_test extends PHPUnit_Framework_TestCase
|
|||||||
$this->assertEquals(time()+$a::getExpiresIn(), $v['expires']);
|
$this->assertEquals(time()+$a::getExpiresIn(), $v['expires']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @expectedException OAuth2\Exception\ClientException
|
||||||
|
* @expectedExceptionCode 0
|
||||||
|
*/
|
||||||
|
public function test_issueAccessToken_clientCredentialsGrant_missingClientId()
|
||||||
|
{
|
||||||
|
$a = $this->returnDefault();
|
||||||
|
$a->addGrantType(new OAuth2\Grant\ClientCredentials());
|
||||||
|
|
||||||
|
$request = new OAuth2\Request(array(), $_POST);
|
||||||
|
$a->setRequest($request);
|
||||||
|
|
||||||
|
$v = $a->issueAccessToken(array(
|
||||||
|
'grant_type' => 'client_credentials'
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @expectedException OAuth2\Exception\ClientException
|
||||||
|
* @expectedExceptionCode 0
|
||||||
|
*/
|
||||||
|
public function test_issueAccessToken_clientCredentialsGrant_missingClientCredentials()
|
||||||
|
{
|
||||||
|
$a = $this->returnDefault();
|
||||||
|
$a->addGrantType(new OAuth2\Grant\ClientCredentials());
|
||||||
|
|
||||||
|
$request = new OAuth2\Request(array(), $_POST);
|
||||||
|
$a->setRequest($request);
|
||||||
|
|
||||||
|
$v = $a->issueAccessToken(array(
|
||||||
|
'grant_type' => 'client_credentials',
|
||||||
|
'client_id' => 1234
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @expectedException OAuth2\Exception\ClientException
|
||||||
|
* @expectedExceptionCode 8
|
||||||
|
*/
|
||||||
|
public function test_issueAccessToken_clientCredentialsGrant_badClient()
|
||||||
|
{
|
||||||
|
$this->client->shouldReceive('getClient')->andReturn(false);
|
||||||
|
|
||||||
|
$a = $this->returnDefault();
|
||||||
|
$a->addGrantType(new OAuth2\Grant\ClientCredentials());
|
||||||
|
|
||||||
|
$request = new OAuth2\Request(array(), $_POST);
|
||||||
|
$a->setRequest($request);
|
||||||
|
|
||||||
|
$v = $a->issueAccessToken(array(
|
||||||
|
'grant_type' => 'client_credentials',
|
||||||
|
'client_id' => 1234,
|
||||||
|
'client_secret' => 5678
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
function test_issueAccessToken_clientCredentialsGrant_passedInput()
|
||||||
|
{
|
||||||
|
$this->client->shouldReceive('getClient')->andReturn(array(
|
||||||
|
'client_id' => 1234,
|
||||||
|
'client_secret' => 5678,
|
||||||
|
'redirect_uri' => 'http://foo/redirect',
|
||||||
|
'name' => 'Example Client'
|
||||||
|
));
|
||||||
|
|
||||||
|
$this->client->shouldReceive('validateRefreshToken')->andReturn(1);
|
||||||
|
|
||||||
|
$this->session->shouldReceive('validateAuthCode')->andReturn(1);
|
||||||
|
$this->session->shouldReceive('createSession')->andReturn(1);
|
||||||
|
$this->session->shouldReceive('deleteSession')->andReturn(null);
|
||||||
|
$this->session->shouldReceive('updateRefreshToken')->andReturn(null);
|
||||||
|
|
||||||
|
$a = $this->returnDefault();
|
||||||
|
$a->addGrantType(new OAuth2\Grant\ClientCredentials());
|
||||||
|
|
||||||
|
$v = $a->issueAccessToken(array(
|
||||||
|
'grant_type' => 'client_credentials',
|
||||||
|
'client_id' => 1234,
|
||||||
|
'client_secret' => 5678
|
||||||
|
));
|
||||||
|
|
||||||
|
$this->assertArrayHasKey('access_token', $v);
|
||||||
|
$this->assertArrayHasKey('token_type', $v);
|
||||||
|
$this->assertArrayHasKey('expires', $v);
|
||||||
|
$this->assertArrayHasKey('expires_in', $v);
|
||||||
|
$this->assertArrayHasKey('refresh_token', $v);
|
||||||
|
|
||||||
|
$this->assertEquals($a::getExpiresIn(), $v['expires_in']);
|
||||||
|
$this->assertEquals(time()+$a::getExpiresIn(), $v['expires']);
|
||||||
|
}
|
||||||
|
|
||||||
|
function test_issueAccessToken_clientCredentialsGrant()
|
||||||
|
{
|
||||||
|
$this->client->shouldReceive('getClient')->andReturn(array(
|
||||||
|
'client_id' => 1234,
|
||||||
|
'client_secret' => 5678,
|
||||||
|
'redirect_uri' => 'http://foo/redirect',
|
||||||
|
'name' => 'Example Client'
|
||||||
|
));
|
||||||
|
|
||||||
|
$this->client->shouldReceive('validateRefreshToken')->andReturn(1);
|
||||||
|
|
||||||
|
$this->session->shouldReceive('validateAuthCode')->andReturn(1);
|
||||||
|
$this->session->shouldReceive('createSession')->andReturn(1);
|
||||||
|
$this->session->shouldReceive('deleteSession')->andReturn(null);
|
||||||
|
$this->session->shouldReceive('updateRefreshToken')->andReturn(null);
|
||||||
|
|
||||||
|
$a = $this->returnDefault();
|
||||||
|
$a->addGrantType(new OAuth2\Grant\ClientCredentials());
|
||||||
|
|
||||||
|
$_POST['grant_type'] = 'client_credentials';
|
||||||
|
$_POST['client_id'] = 1234;
|
||||||
|
$_POST['client_secret'] = 5678;
|
||||||
|
|
||||||
|
$request = new OAuth2\Request(array(), $_POST);
|
||||||
|
$a->setRequest($request);
|
||||||
|
|
||||||
|
$v = $a->issueAccessToken();
|
||||||
|
|
||||||
|
$this->assertArrayHasKey('access_token', $v);
|
||||||
|
$this->assertArrayHasKey('token_type', $v);
|
||||||
|
$this->assertArrayHasKey('expires', $v);
|
||||||
|
$this->assertArrayHasKey('expires_in', $v);
|
||||||
|
$this->assertArrayHasKey('refresh_token', $v);
|
||||||
|
|
||||||
|
$this->assertEquals($a::getExpiresIn(), $v['expires_in']);
|
||||||
|
$this->assertEquals(time()+$a::getExpiresIn(), $v['expires']);
|
||||||
|
}
|
||||||
|
|
||||||
public function tearDown() {
|
public function tearDown() {
|
||||||
M::close();
|
M::close();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user