authera 1.2.6 → 1.2.7
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/helper/context.d.ts +3 -1
- package/dist/hooks/useAuth.d.ts +3 -0
- package/dist/hooks/useAuth.js +20 -5
- package/dist/index.d.ts +3 -0
- package/dist/web/index.js +4 -4
- package/dist/web/login.js +3 -2
- package/package.json +1 -1
package/dist/helper/context.d.ts
CHANGED
|
@@ -8,6 +8,8 @@ export type userBaseData<T extends string> = {
|
|
|
8
8
|
export interface AuthContextValueType<T extends string> {
|
|
9
9
|
authera_props: AuthHookSettings<T>;
|
|
10
10
|
userData: userBaseData<T>;
|
|
11
|
-
|
|
11
|
+
set: (key: keyof AuthContextValueType<T>, value: any) => void;
|
|
12
|
+
access_token?: string | null;
|
|
13
|
+
refresh_token?: string | null;
|
|
12
14
|
}
|
|
13
15
|
export declare const AuthContext: React.Context<AuthContextValueType<any> | undefined>;
|
package/dist/hooks/useAuth.d.ts
CHANGED
package/dist/hooks/useAuth.js
CHANGED
|
@@ -22,25 +22,37 @@ export function useAuth() {
|
|
|
22
22
|
else if (fallback)
|
|
23
23
|
fallback();
|
|
24
24
|
};
|
|
25
|
+
const setUserData = (userData) => {
|
|
26
|
+
ctx.set("userData", userData);
|
|
27
|
+
};
|
|
25
28
|
const setPermits = (permits) => {
|
|
26
|
-
ctx.
|
|
29
|
+
ctx.set("userData", { ...ctx.userData, permits });
|
|
27
30
|
};
|
|
28
31
|
const addPermits = (permits) => {
|
|
29
32
|
if (typeof permits !== "object")
|
|
30
33
|
return;
|
|
31
|
-
ctx.
|
|
34
|
+
ctx.set("userData", {
|
|
32
35
|
...ctx.userData,
|
|
33
36
|
permits: [...prm.filter((p) => !permits.includes(p)), ...permits],
|
|
34
37
|
});
|
|
35
38
|
};
|
|
36
39
|
const removePermits = (permits) => {
|
|
37
|
-
ctx.
|
|
40
|
+
ctx.set("userData", {
|
|
38
41
|
...ctx.userData,
|
|
39
42
|
permits: prm.filter((p) => !permits.includes(p)),
|
|
40
43
|
});
|
|
41
44
|
};
|
|
42
|
-
const
|
|
43
|
-
ctx.
|
|
45
|
+
const setAccessToken = (token) => {
|
|
46
|
+
ctx.set("access_token", token);
|
|
47
|
+
};
|
|
48
|
+
const setRefreshToken = (token) => {
|
|
49
|
+
ctx.set("refresh_token", token);
|
|
50
|
+
};
|
|
51
|
+
const logout = () => {
|
|
52
|
+
setUserData(null);
|
|
53
|
+
setPermits([]);
|
|
54
|
+
ctx.set("refresh_token", null);
|
|
55
|
+
ctx.set("access_token", null);
|
|
44
56
|
};
|
|
45
57
|
return {
|
|
46
58
|
permits: prm,
|
|
@@ -52,6 +64,9 @@ export function useAuth() {
|
|
|
52
64
|
setUserData,
|
|
53
65
|
isPermittedAll,
|
|
54
66
|
user,
|
|
67
|
+
setAccessToken,
|
|
68
|
+
setRefreshToken,
|
|
69
|
+
logout,
|
|
55
70
|
...ctx.authera_props,
|
|
56
71
|
};
|
|
57
72
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -30,6 +30,9 @@ export default function AuthHook<T extends string>(props: AuthHookSettings<T>):
|
|
|
30
30
|
id: string;
|
|
31
31
|
username: string;
|
|
32
32
|
};
|
|
33
|
+
setAccessToken: (token: string) => void;
|
|
34
|
+
setRefreshToken: (token: string) => void;
|
|
35
|
+
logout: () => void;
|
|
33
36
|
};
|
|
34
37
|
LoginScenario: () => import("react/jsx-runtime").JSX.Element;
|
|
35
38
|
};
|
package/dist/web/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import { AuthContext } from "../helper/context";
|
|
3
|
+
import { AuthContext, } from "../helper/context";
|
|
4
4
|
export default function AuthProvider({ children, storage, authera_props, }) {
|
|
5
5
|
/**
|
|
6
6
|
* Context Provider
|
|
7
7
|
*/
|
|
8
8
|
const Provider = AuthContext.Provider;
|
|
9
9
|
const userData = storage.get("userData");
|
|
10
|
-
const
|
|
11
|
-
storage.set(
|
|
10
|
+
const set = (key, value) => {
|
|
11
|
+
storage.set(key, value);
|
|
12
12
|
};
|
|
13
|
-
return (_jsx(Provider, { value: { userData,
|
|
13
|
+
return (_jsx(Provider, { value: { userData, set, authera_props }, children: children }));
|
|
14
14
|
}
|
package/dist/web/login.js
CHANGED
|
@@ -12,7 +12,7 @@ export default function LoginForm({ on_after_login, on_after_step, }) {
|
|
|
12
12
|
const [userID, userIDHandler] = useState("");
|
|
13
13
|
const [stepPayload, stepPayloadHandler] = useState({});
|
|
14
14
|
const { handleSubmit, control } = useForm();
|
|
15
|
-
const { backendUrl, setUserData } = useAuth();
|
|
15
|
+
const { backendUrl, setUserData, setPermits } = useAuth();
|
|
16
16
|
const request = axios.create({
|
|
17
17
|
baseURL: backendUrl,
|
|
18
18
|
});
|
|
@@ -46,7 +46,8 @@ export default function LoginForm({ on_after_login, on_after_step, }) {
|
|
|
46
46
|
}
|
|
47
47
|
// if response say authenticate is finished
|
|
48
48
|
else if (response.status === 200) {
|
|
49
|
-
setUserData(response.data);
|
|
49
|
+
setUserData(response.data.user);
|
|
50
|
+
setPermits(response.data.user.permits);
|
|
50
51
|
if (on_after_login)
|
|
51
52
|
on_after_login();
|
|
52
53
|
}
|