Skip to content

Commit 949c62a

Browse files
committed
Fixed a function name mismatch
1 parent eca4428 commit 949c62a

File tree

2 files changed

+34
-1
lines changed

2 files changed

+34
-1
lines changed

src/Authorizer.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,15 @@ public function getScopes()
187187
*/
188188
public function hasScope($scope)
189189
{
190+
if (is_array($scope)) {
191+
foreach ($scope as $s) {
192+
if ($this->hasScope($s) === false) {
193+
return false;
194+
}
195+
}
196+
return true;
197+
}
198+
190199
return $this->checker->getAccessToken()->hasScope($scope);
191200
}
192201

tests/unit/LucaDegasperi/OAuth2Server/AuthorizerSpec.php

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,35 @@ function it_checks_if_a_scope_is_included_into_the_current_ones(ResourceServer $
6363
$checker->getAccessToken()->willReturn($accessTokenEntity)->shouldBeCalled();
6464
$this->hasScope('foo')->shouldReturn(true);
6565

66-
$accessTokenEntity->hasScope(['foo', 'bar'])->willReturn(false)->shouldBecalled();
66+
$accessTokenEntity->hasScope('foo')->willReturn(false)->shouldBeCalled();
67+
$checker->getAccessToken()->willReturn($accessTokenEntity)->shouldBeCalled();
68+
$this->hasScope('foo')->shouldReturn(false);
69+
}
70+
71+
function it_checks_if_multiple_invalid_scopes_are_included_into_the_current_ones(ResourceServer $checker, AccessTokenEntity $accessTokenEntity)
72+
{
73+
$accessTokenEntity->hasScope('foo')->willReturn(false)->shouldBecalled();
74+
$accessTokenEntity->hasScope('bar')->willReturn(false)->shouldNotBeCalled();
6775
$checker->getAccessToken()->willReturn($accessTokenEntity)->shouldBeCalled();
6876
$this->hasScope(['foo', 'bar'])->shouldReturn(false);
6977
}
7078

79+
function it_checks_if_multiple_mixed_scopes_are_included_into_the_current_ones(ResourceServer $checker, AccessTokenEntity $accessTokenEntity)
80+
{
81+
$accessTokenEntity->hasScope('foo')->willReturn(true)->shouldBecalled();
82+
$accessTokenEntity->hasScope('bar')->willReturn(false)->shouldBeCalled();
83+
$checker->getAccessToken()->willReturn($accessTokenEntity)->shouldBeCalledTimes(2);
84+
$this->hasScope(['foo', 'bar'])->shouldReturn(false);
85+
}
86+
87+
function it_checks_if_multiple_valid_scopes_are_included_into_the_current_ones(ResourceServer $checker, AccessTokenEntity $accessTokenEntity)
88+
{
89+
$accessTokenEntity->hasScope('foo')->willReturn(true)->shouldBecalled();
90+
$accessTokenEntity->hasScope('bar')->willReturn(true)->shouldBeCalled();
91+
$checker->getAccessToken()->willReturn($accessTokenEntity)->shouldBeCalledTimes(2);
92+
$this->hasScope(['foo', 'bar'])->shouldReturn(true);
93+
}
94+
7195
function it_returns_the_resource_owner_id(ResourceServer $checker, AccessTokenEntity $accessTokenEntity, SessionEntity $sessionEntity)
7296
{
7397
$sessionEntity->getOwnerId()->willReturn('1')->shouldBeCalled();

0 commit comments

Comments
 (0)