nextauthz 1.3.23 → 1.3.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -82,14 +82,16 @@ function createAuthContext(option) {
82
82
  } = useAuthStore();
83
83
  (0, import_react.useEffect)(() => {
84
84
  const storedUser = manager.getSingleToken("user");
85
+ const role2 = manager.getSingleToken("role");
85
86
  const token = manager.getSingleToken(tokenKey);
86
87
  if (token && !manager.isExpired(token)) {
87
88
  try {
88
89
  setAuth(true);
89
90
  if (storedUser) {
90
91
  const parsedUser = JSON.parse(storedUser);
92
+ const parsedRole = JSON.parse(role2);
91
93
  setUser(parsedUser);
92
- setRole(parsedUser?.role ?? null);
94
+ setRole(parsedRole ?? null);
93
95
  }
94
96
  } catch {
95
97
  resetAuth();
@@ -104,7 +106,8 @@ function createAuthContext(option) {
104
106
  manager.setTokens({
105
107
  ...tokens,
106
108
  [tokenKey]: tokenValue,
107
- user: JSON.stringify(userData ?? null)
109
+ user: JSON.stringify(userData ?? null),
110
+ role: JSON.stringify(user?.account_type ?? null)
108
111
  });
109
112
  if (userData) setUser(userData);
110
113
  setRole(role2 ?? null);
package/dist/index.mjs CHANGED
@@ -55,14 +55,16 @@ function createAuthContext(option) {
55
55
  } = useAuthStore();
56
56
  useEffect(() => {
57
57
  const storedUser = manager.getSingleToken("user");
58
+ const role2 = manager.getSingleToken("role");
58
59
  const token = manager.getSingleToken(tokenKey);
59
60
  if (token && !manager.isExpired(token)) {
60
61
  try {
61
62
  setAuth(true);
62
63
  if (storedUser) {
63
64
  const parsedUser = JSON.parse(storedUser);
65
+ const parsedRole = JSON.parse(role2);
64
66
  setUser(parsedUser);
65
- setRole(parsedUser?.role ?? null);
67
+ setRole(parsedRole ?? null);
66
68
  }
67
69
  } catch {
68
70
  resetAuth();
@@ -77,7 +79,8 @@ function createAuthContext(option) {
77
79
  manager.setTokens({
78
80
  ...tokens,
79
81
  [tokenKey]: tokenValue,
80
- user: JSON.stringify(userData ?? null)
82
+ user: JSON.stringify(userData ?? null),
83
+ role: JSON.stringify(user?.account_type ?? null)
81
84
  });
82
85
  if (userData) setUser(userData);
83
86
  setRole(role2 ?? null);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nextauthz",
3
- "version": "1.3.23",
3
+ "version": "1.3.25",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
package/readme.md CHANGED
@@ -82,6 +82,11 @@ const handleLogin = () => {
82
82
 
83
83
  login(tokens, user, user.role)
84
84
  }
85
+
86
+ const handleLogout = () => {
87
+ logout(); // clears token and user
88
+ router.replace('/authentication/login');
89
+ };
85
90
  ```
86
91
 
87
92
  ## AuthGuard
@@ -58,6 +58,7 @@ export function createAuthContext<UserType extends User = User>(option?: {
58
58
 
59
59
  useEffect(() => {
60
60
  const storedUser = manager.getSingleToken('user')
61
+ const role = manager.getSingleToken('role')
61
62
  const token = manager.getSingleToken(tokenKey)
62
63
 
63
64
  if (token && !manager.isExpired(token)) {
@@ -66,8 +67,9 @@ export function createAuthContext<UserType extends User = User>(option?: {
66
67
 
67
68
  if (storedUser) {
68
69
  const parsedUser = JSON.parse(storedUser) as UserType
70
+ const parsedRole = JSON.parse(role as string)
69
71
  setUser(parsedUser)
70
- setRole((parsedUser as any)?.role ?? null)
72
+ setRole((parsedRole) ?? null)
71
73
  }
72
74
  } catch {
73
75
  resetAuth()
@@ -91,6 +93,7 @@ export function createAuthContext<UserType extends User = User>(option?: {
91
93
  ...tokens,
92
94
  [tokenKey]: tokenValue,
93
95
  user: JSON.stringify(userData ?? null),
96
+ role: JSON.stringify(user?.account_type ?? null)
94
97
  })
95
98
 
96
99
  if (userData) setUser(userData)
package/src/RoleGuard.tsx CHANGED
@@ -35,7 +35,6 @@ const RoleGuard = ({
35
35
  router.replace(redirectTo)
36
36
  return null
37
37
  }
38
-
39
38
 
40
39
  // Block rendering if role is not allowed
41
40
  if (!role || !allowedRoles.includes(role)) return null