Skip to content

Commit ff5eb39

Browse files
erikn69abordage
andauthored
Search auth identifer support UUID, ULID, GLID (#1544)
* Search auth identifer support UUID, ULID, GLID Co-authored-by: Pavel Bychko <[email protected]> * user->getKey() instead of user->id --------- Co-authored-by: Pavel Bychko <[email protected]>
1 parent bdc2d62 commit ff5eb39

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

src/DataCollector/GateCollector.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public function addCheck($user, $ability, $result, $arguments = [])
4747

4848
if ($user) {
4949
$userKey = Str::snake(class_basename($user));
50-
$userId = $user instanceof Authenticatable ? $user->getAuthIdentifier() : $user->id;
50+
$userId = $user instanceof Authenticatable ? $user->getAuthIdentifier() : $user->getKey();
5151
}
5252

5353
$label = $result ? 'success' : 'error';

src/DataCollector/MultiAuthCollector.php

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -113,14 +113,16 @@ protected function getUserInformation($user = null)
113113
}
114114

115115
// The default auth identifer is the ID number, which isn't all that
116-
// useful. Try username and email.
117-
$identifier = $user instanceof Authenticatable ? $user->getAuthIdentifier() : $user->id;
118-
if (is_numeric($identifier)) {
116+
// useful. Try username, email and name.
117+
$identifier = $user instanceof Authenticatable ? $user->getAuthIdentifier() : $user->getKey();
118+
if (is_numeric($identifier) || Str::isUuid($identifier) || Str::isUlid($identifier)) {
119119
try {
120120
if (isset($user->username)) {
121121
$identifier = $user->username;
122122
} elseif (isset($user->email)) {
123123
$identifier = $user->email;
124+
} elseif (isset($user->name)) {
125+
$identifier = Str::limit($user->name, 24);
124126
}
125127
} catch (\Throwable $e) {
126128
}

0 commit comments

Comments
 (0)