@@ -32,16 +32,12 @@ abstract class AbstractToken implements TokenInterface, \Serializable
32
32
*/
33
33
public function __construct (array $ roles = [])
34
34
{
35
- $ this ->roleNames = [];
36
-
37
- foreach ($ roles as $ role ) {
38
- $ this ->roleNames [] = (string ) $ role ;
39
- }
35
+ $ this ->roleNames = $ roles ;
40
36
}
41
37
42
38
public function getRoleNames (): array
43
39
{
44
- return $ this ->roleNames ??= self :: __construct ( $ this ->user ->getRoles ()) ?? $ this -> roleNames ;
40
+ return $ this ->roleNames ??= $ this ->user ? ->getRoles() ?? [] ;
45
41
}
46
42
47
43
public function getUserIdentifier (): string
@@ -90,13 +86,7 @@ public function eraseCredentials(): void
90
86
*/
91
87
public function __serialize (): array
92
88
{
93
- $ data = [$ this ->user , true , null , $ this ->attributes ];
94
-
95
- if (!$ this ->user instanceof EquatableInterface) {
96
- $ data [] = $ this ->roleNames ;
97
- }
98
-
99
- return $ data ;
89
+ return [$ this ->user , true , null , $ this ->attributes , $ this ->getRoleNames ()];
100
90
}
101
91
102
92
/**
@@ -160,12 +150,7 @@ public function __toString(): string
160
150
$ class = static ::class;
161
151
$ class = substr ($ class , strrpos ($ class , '\\' ) + 1 );
162
152
163
- $ roles = [];
164
- foreach ($ this ->roleNames as $ role ) {
165
- $ roles [] = $ role ;
166
- }
167
-
168
- return \sprintf ('%s(user="%s", roles="%s") ' , $ class , $ this ->getUserIdentifier (), implode (', ' , $ roles ));
153
+ return \sprintf ('%s(user="%s", roles="%s") ' , $ class , $ this ->getUserIdentifier (), implode (', ' , $ this ->getRoleNames ()));
169
154
}
170
155
171
156
/**
0 commit comments