@@ -130,6 +130,30 @@ public function testDefaultScopeValidation(array $available, array $default, boo
130
130
$ this ->addToAssertionCount (1 );
131
131
}
132
132
133
+ /**
134
+ * @dataProvider revokeRefreshTokensProvider
135
+ */
136
+ public function testEnablingAndDisablingRevocationOfRefreshTokens (bool $ shouldRevokeRefreshTokens ): void
137
+ {
138
+ $ container = new ContainerBuilder ();
139
+ $ extension = new LeagueOAuth2ServerExtension ();
140
+
141
+ $ extension ->load ($ this ->getValidConfiguration (['revoke_refresh_tokens ' => $ shouldRevokeRefreshTokens ]), $ container );
142
+
143
+ $ authorizationServer = $ container ->findDefinition (AuthorizationServer::class);
144
+ $ methodCalls = $ authorizationServer ->getMethodCalls ();
145
+ $ revokeRefreshTokens = null ;
146
+
147
+ foreach ($ methodCalls as $ methodCall ) {
148
+ if ('revokeRefreshTokens ' === $ methodCall [0 ]) {
149
+ $ revokeRefreshTokens = $ methodCall [1 ][0 ];
150
+ break ;
151
+ }
152
+ }
153
+
154
+ $ this ->assertSame ($ shouldRevokeRefreshTokens , $ revokeRefreshTokens );
155
+ }
156
+
133
157
public function scopeProvider (): iterable
134
158
{
135
159
yield 'when a default scope is part of available scopes ' => [
@@ -155,6 +179,7 @@ private function getValidConfiguration(array $options = []): array
155
179
'enable_client_credentials_grant ' => $ options ['enable_client_credentials_grant ' ] ?? true ,
156
180
'enable_password_grant ' => $ options ['enable_password_grant ' ] ?? true ,
157
181
'enable_refresh_token_grant ' => $ options ['enable_refresh_token_grant ' ] ?? true ,
182
+ 'revoke_refresh_tokens ' => $ options ['revoke_refresh_tokens ' ] ?? true ,
158
183
],
159
184
'resource_server ' => [
160
185
'public_key ' => 'foo ' ,
@@ -175,6 +200,12 @@ private function getValidConfiguration(array $options = []): array
175
200
];
176
201
}
177
202
203
+ public function revokeRefreshTokensProvider (): iterable
204
+ {
205
+ yield 'do revoke refresh tokens ' => [true ];
206
+ yield 'do not revoke refresh tokens ' => [false ];
207
+ }
208
+
178
209
private function setupContainer (ContainerBuilder $ container ): void
179
210
{
180
211
$ container ->register (ScopeManager::class);
0 commit comments