Skip to content

Commit

Permalink
Merge branch 'feature/optionally-store-roles'
Browse files Browse the repository at this point in the history
  • Loading branch information
365werk-admin committed Feb 24, 2022
2 parents 2e576f3 + b3d7093 commit 9214509
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 5 deletions.
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "werk365/jwtauthroles",
"description": "Made to use fusionauth users in Laravel using JWT. Possible to either use pem keys directly or use the jwks endpoint.",
"version": "1.2.1",
"version": "1.2.2",
"license": "MIT",
"authors": [
{
Expand Down
3 changes: 3 additions & 0 deletions config/jwtauthroles.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
// If enabled, stores every user in the database
'useDB' => env('FA_USE_DB', false),

// If enabled, stores the user's roles in the database
'storeRoles' => env('FA_STORE_ROLES', true),

// Only if useDB = true
// Column name in the users table where uuid should be stored.'
'userId' => env('FA_USR_ID', 'uuid'),
Expand Down
20 changes: 16 additions & 4 deletions src/JwtAuthRoles.php
Original file line number Diff line number Diff line change
Expand Up @@ -151,22 +151,34 @@ public static function authUser(object $request)
if (config('jwtauthroles.autoCreateUser')) {
$user = JwtUser::firstOrNew([config('jwtauthroles.userId') => $claims->sub]);
$user[config('jwtauthroles.userId')] = $claims->sub;
$user->roles = json_encode($claims->roles);
if (config('jwtauthroles.storeRoles')){
$user->roles = json_encode($claims->roles);
} else {
$user->roles = json_encode(array());
}
$user->claims = json_encode($claims);
$user->save();
} else {
$user = JwtUser::where(config('jwtauthroles.userId'), '=', $claims->sub)->firstOrFail();
$user->roles = json_encode($claims->roles);
if (config('jwtauthroles.storeRoles')){
$user->roles = json_encode($claims->roles);
} else {
$user->roles = json_encode(array());
}
$user->claims = json_encode($claims);
$user->save();
}
} else {
$user = new JwtUser;
$user->uuid = $claims->sub;
$user->roles = $claims->roles;
if (config('jwtauthroles.storeRoles')){
$user->roles = $claims->roles;
} else {
$user->roles = json_encode(array());
}
$user->claims = $claims;
}

return $user;
}
}
}

0 comments on commit 9214509

Please sign in to comment.