nextauthz 1.3.25 → 1.3.27

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
@@ -64,7 +64,7 @@ function createAuthContext(option) {
64
64
  const AuthProvider = ({ children }) => {
65
65
  const storage = option?.storage ?? "cookie";
66
66
  const tokenKey = option?.tokenKey ?? "access_token";
67
- console.log("storage", storage);
67
+ const rolePath = option?.rolePath ?? "role";
68
68
  (0, import_react.useEffect)(() => {
69
69
  (0, import_react_token_manager.configureTokenManager)({ storage });
70
70
  }, [storage]);
@@ -80,18 +80,20 @@ function createAuthContext(option) {
80
80
  setAuth,
81
81
  setAuthChecked
82
82
  } = useAuthStore();
83
+ const extractRole = (userObj) => {
84
+ if (!userObj || !rolePath) return null;
85
+ return rolePath.split(".").reduce((acc, key) => acc?.[key], userObj) ?? null;
86
+ };
83
87
  (0, import_react.useEffect)(() => {
84
88
  const storedUser = manager.getSingleToken("user");
85
- const role2 = manager.getSingleToken("role");
86
89
  const token = manager.getSingleToken(tokenKey);
87
90
  if (token && !manager.isExpired(token)) {
88
91
  try {
89
92
  setAuth(true);
90
93
  if (storedUser) {
91
94
  const parsedUser = JSON.parse(storedUser);
92
- const parsedRole = JSON.parse(role2);
93
95
  setUser(parsedUser);
94
- setRole(parsedRole ?? null);
96
+ setRole(extractRole(parsedUser));
95
97
  }
96
98
  } catch {
97
99
  resetAuth();
@@ -106,11 +108,10 @@ function createAuthContext(option) {
106
108
  manager.setTokens({
107
109
  ...tokens,
108
110
  [tokenKey]: tokenValue,
109
- user: JSON.stringify(userData ?? null),
110
- role: JSON.stringify(user?.account_type ?? null)
111
+ user: JSON.stringify(userData ?? null)
111
112
  });
112
113
  if (userData) setUser(userData);
113
- setRole(role2 ?? null);
114
+ setRole(role2 ?? extractRole(userData));
114
115
  setAuth(true);
115
116
  setAuthChecked(true);
116
117
  };
package/dist/index.mjs CHANGED
@@ -37,7 +37,7 @@ function createAuthContext(option) {
37
37
  const AuthProvider = ({ children }) => {
38
38
  const storage = option?.storage ?? "cookie";
39
39
  const tokenKey = option?.tokenKey ?? "access_token";
40
- console.log("storage", storage);
40
+ const rolePath = option?.rolePath ?? "role";
41
41
  useEffect(() => {
42
42
  configureTokenManager({ storage });
43
43
  }, [storage]);
@@ -53,18 +53,20 @@ function createAuthContext(option) {
53
53
  setAuth,
54
54
  setAuthChecked
55
55
  } = useAuthStore();
56
+ const extractRole = (userObj) => {
57
+ if (!userObj || !rolePath) return null;
58
+ return rolePath.split(".").reduce((acc, key) => acc?.[key], userObj) ?? null;
59
+ };
56
60
  useEffect(() => {
57
61
  const storedUser = manager.getSingleToken("user");
58
- const role2 = manager.getSingleToken("role");
59
62
  const token = manager.getSingleToken(tokenKey);
60
63
  if (token && !manager.isExpired(token)) {
61
64
  try {
62
65
  setAuth(true);
63
66
  if (storedUser) {
64
67
  const parsedUser = JSON.parse(storedUser);
65
- const parsedRole = JSON.parse(role2);
66
68
  setUser(parsedUser);
67
- setRole(parsedRole ?? null);
69
+ setRole(extractRole(parsedUser));
68
70
  }
69
71
  } catch {
70
72
  resetAuth();
@@ -79,11 +81,10 @@ function createAuthContext(option) {
79
81
  manager.setTokens({
80
82
  ...tokens,
81
83
  [tokenKey]: tokenValue,
82
- user: JSON.stringify(userData ?? null),
83
- role: JSON.stringify(user?.account_type ?? null)
84
+ user: JSON.stringify(userData ?? null)
84
85
  });
85
86
  if (userData) setUser(userData);
86
- setRole(role2 ?? null);
87
+ setRole(role2 ?? extractRole(userData));
87
88
  setAuth(true);
88
89
  setAuthChecked(true);
89
90
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nextauthz",
3
- "version": "1.3.25",
3
+ "version": "1.3.27",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -26,14 +26,14 @@ export type AuthContextType<UserType extends User = User> = {
26
26
  export function createAuthContext<UserType extends User = User>(option?: {
27
27
  storage?: 'localStorage' | 'sessionStorage' | 'cookie'
28
28
  tokenKey?: string
29
+ rolePath?: string // e.g. 'role' or 'profile.role'
29
30
  }) {
30
31
  const AuthContext = createContext<AuthContextType<UserType> | undefined>(undefined)
31
32
 
32
33
  const AuthProvider = ({ children }: { children: ReactNode }) => {
33
34
  const storage = option?.storage ?? 'cookie'
34
35
  const tokenKey = option?.tokenKey ?? 'access_token'
35
-
36
- console.log('storage', storage);
36
+ const rolePath = option?.rolePath ?? 'role'
37
37
 
38
38
  useEffect(() => {
39
39
  configureTokenManager({ storage })
@@ -52,13 +52,20 @@ export function createAuthContext<UserType extends User = User>(option?: {
52
52
  setAuthChecked,
53
53
  } = useAuthStore()
54
54
 
55
+ /* ---------------------------------- */
56
+ /* Helper: get role from path */
57
+ /* ---------------------------------- */
58
+ const extractRole = (userObj: any) => {
59
+ if (!userObj || !rolePath) return null
60
+ return rolePath.split('.').reduce((acc: any, key: string) => acc?.[key], userObj) ?? null
61
+ }
62
+
55
63
  /* ---------------------------------- */
56
64
  /* Hydrate user from storage */
57
65
  /* ---------------------------------- */
58
66
 
59
67
  useEffect(() => {
60
68
  const storedUser = manager.getSingleToken('user')
61
- const role = manager.getSingleToken('role')
62
69
  const token = manager.getSingleToken(tokenKey)
63
70
 
64
71
  if (token && !manager.isExpired(token)) {
@@ -67,9 +74,8 @@ export function createAuthContext<UserType extends User = User>(option?: {
67
74
 
68
75
  if (storedUser) {
69
76
  const parsedUser = JSON.parse(storedUser) as UserType
70
- const parsedRole = JSON.parse(role as string)
71
77
  setUser(parsedUser)
72
- setRole((parsedRole) ?? null)
78
+ setRole(extractRole(parsedUser))
73
79
  }
74
80
  } catch {
75
81
  resetAuth()
@@ -93,13 +99,12 @@ export function createAuthContext<UserType extends User = User>(option?: {
93
99
  ...tokens,
94
100
  [tokenKey]: tokenValue,
95
101
  user: JSON.stringify(userData ?? null),
96
- role: JSON.stringify(user?.account_type ?? null)
97
102
  })
98
103
 
99
104
  if (userData) setUser(userData)
100
- setRole(role ?? null)
101
- setAuth(true);
102
- setAuthChecked(true);
105
+ setRole(role ?? extractRole(userData))
106
+ setAuth(true)
107
+ setAuthChecked(true)
103
108
  }
104
109
 
105
110
  /* ---------------------------------- */