Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 324425d

Browse filesBrowse files
committed
Merge branch '6.4' into 7.2
* 6.4: [Intl] Update data to ICU 77.1 Correctly convert SIGSYS to its name fix(security): fix OIDC user identifier Do not ignore enum when Autowire attribute in RegisterControllerArgumentLocatorsPass fix RedisCluster seed if REDIS_CLUSTER_HOST env var is not set
2 parents 6e51e21 + a69c17e commit 324425d
Copy full SHA for 324425d

File tree

Expand file treeCollapse file tree

4 files changed

+14
-6
lines changed
Filter options
Expand file treeCollapse file tree

4 files changed

+14
-6
lines changed

‎AccessToken/Oidc/OidcTokenHandler.php

Copy file name to clipboardExpand all lines: AccessToken/Oidc/OidcTokenHandler.php
+5-1Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,11 @@ public function getUserBadgeFrom(string $accessToken): UserBadge
101101
}
102102

103103
// UserLoader argument can be overridden by a UserProvider on AccessTokenAuthenticator::authenticate
104-
return new UserBadge($claims[$this->claim], new FallbackUserLoader(fn () => $this->createUser($claims)), $claims);
104+
return new UserBadge($claims[$this->claim], new FallbackUserLoader(function () use ($claims) {
105+
$claims['user_identifier'] = $claims[$this->claim];
106+
107+
return $this->createUser($claims);
108+
}), $claims);
105109
} catch (\Exception $e) {
106110
$this->logger?->error('An error occurred while decoding and validating the token.', [
107111
'error' => $e->getMessage(),

‎AccessToken/Oidc/OidcUserInfoTokenHandler.php

Copy file name to clipboardExpand all lines: AccessToken/Oidc/OidcUserInfoTokenHandler.php
+5-1Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,11 @@ public function getUserBadgeFrom(string $accessToken): UserBadge
4747
}
4848

4949
// UserLoader argument can be overridden by a UserProvider on AccessTokenAuthenticator::authenticate
50-
return new UserBadge($claims[$this->claim], new FallbackUserLoader(fn () => $this->createUser($claims)), $claims);
50+
return new UserBadge($claims[$this->claim], new FallbackUserLoader(function () use ($claims) {
51+
$claims['user_identifier'] = $claims[$this->claim];
52+
53+
return $this->createUser($claims);
54+
}), $claims);
5155
} catch (\Exception $e) {
5256
$this->logger?->error('An error occurred on OIDC server.', [
5357
'error' => $e->getMessage(),

‎Tests/AccessToken/Oidc/OidcTokenHandlerTest.php

Copy file name to clipboardExpand all lines: Tests/AccessToken/Oidc/OidcTokenHandlerTest.php
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public function testGetsUserIdentifierFromSignedToken(string $claim, string $exp
4848
'email' => 'foo@example.com',
4949
];
5050
$token = $this->buildJWS(json_encode($claims));
51-
$expectedUser = new OidcUser(...$claims);
51+
$expectedUser = new OidcUser(...$claims, userIdentifier: $claims[$claim]);
5252

5353
$loggerMock = $this->createMock(LoggerInterface::class);
5454
$loggerMock->expects($this->never())->method('error');
@@ -67,7 +67,7 @@ public function testGetsUserIdentifierFromSignedToken(string $claim, string $exp
6767
$this->assertInstanceOf(OidcUser::class, $actualUser);
6868
$this->assertEquals($expectedUser, $actualUser);
6969
$this->assertEquals($claims, $userBadge->getAttributes());
70-
$this->assertEquals($claims['sub'], $actualUser->getUserIdentifier());
70+
$this->assertEquals($claims[$claim], $actualUser->getUserIdentifier());
7171
}
7272

7373
public static function getClaims(): iterable

‎Tests/AccessToken/Oidc/OidcUserInfoTokenHandlerTest.php

Copy file name to clipboardExpand all lines: Tests/AccessToken/Oidc/OidcUserInfoTokenHandlerTest.php
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public function testGetsUserIdentifierFromOidcServerResponse(string $claim, stri
3333
'sub' => 'e21bf182-1538-406e-8ccb-e25a17aba39f',
3434
'email' => 'foo@example.com',
3535
];
36-
$expectedUser = new OidcUser(...$claims);
36+
$expectedUser = new OidcUser(...$claims, userIdentifier: $claims[$claim]);
3737

3838
$responseMock = $this->createMock(ResponseInterface::class);
3939
$responseMock->expects($this->once())
@@ -52,7 +52,7 @@ public function testGetsUserIdentifierFromOidcServerResponse(string $claim, stri
5252
$this->assertInstanceOf(OidcUser::class, $actualUser);
5353
$this->assertEquals($expectedUser, $actualUser);
5454
$this->assertEquals($claims, $userBadge->getAttributes());
55-
$this->assertEquals($claims['sub'], $actualUser->getUserIdentifier());
55+
$this->assertEquals($claims[$claim], $actualUser->getUserIdentifier());
5656
}
5757

5858
public static function getClaims(): iterable

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.