@choiceform/shared-auth 0.1.14 → 0.1.16
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/README.md +106 -450
- package/dist/api/auth-api.d.ts +28 -0
- package/dist/api/auth-api.d.ts.map +1 -0
- package/dist/api/auth-api.js +133 -0
- package/dist/api/client.d.ts +34 -0
- package/dist/api/client.d.ts.map +1 -0
- package/dist/api/client.js +104 -0
- package/dist/api/index.d.ts +12 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +7 -0
- package/dist/api/organization-api.d.ts +96 -0
- package/dist/api/organization-api.d.ts.map +1 -0
- package/dist/api/organization-api.js +228 -0
- package/dist/api/team-api.d.ts +57 -0
- package/dist/api/team-api.d.ts.map +1 -0
- package/dist/api/team-api.js +118 -0
- package/dist/config.d.ts +4 -57
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +4 -6
- package/dist/core.d.ts +114 -72
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +35 -17
- package/dist/hooks/use-auth-init.d.ts +10 -0
- package/dist/hooks/use-auth-init.d.ts.map +1 -1
- package/dist/hooks/use-auth-init.js +59 -31
- package/dist/index.d.ts +12 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -13
- package/dist/init.d.ts +133 -92
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +12 -14
- package/dist/lib/auth-client.d.ts +49 -54
- package/dist/lib/auth-client.d.ts.map +1 -1
- package/dist/lib/auth-client.js +10 -16
- package/dist/services/companion-team.d.ts +16 -0
- package/dist/services/companion-team.d.ts.map +1 -0
- package/dist/services/companion-team.js +73 -0
- package/dist/services/index.d.ts +5 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +4 -0
- package/dist/store/actions.d.ts +45 -33
- package/dist/store/actions.d.ts.map +1 -1
- package/dist/store/actions.js +135 -106
- package/dist/store/index.d.ts +8 -0
- package/dist/store/index.d.ts.map +1 -0
- package/dist/store/index.js +7 -0
- package/dist/store/state.d.ts +10 -7
- package/dist/store/state.d.ts.map +1 -1
- package/dist/store/state.js +31 -23
- package/dist/store/utils.d.ts +22 -71
- package/dist/store/utils.d.ts.map +1 -1
- package/dist/store/utils.js +28 -146
- package/dist/types/auth.d.ts +107 -0
- package/dist/types/auth.d.ts.map +1 -0
- package/dist/types/auth.js +4 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +4 -0
- package/dist/types/organization.d.ts +111 -0
- package/dist/types/organization.d.ts.map +1 -0
- package/dist/types/organization.js +4 -0
- package/dist/types/team.d.ts +52 -0
- package/dist/types/team.d.ts.map +1 -0
- package/dist/types/team.js +4 -0
- package/dist/types/user.d.ts +44 -0
- package/dist/types/user.d.ts.map +1 -0
- package/dist/types/user.js +4 -0
- package/dist/utils/date.d.ts +10 -0
- package/dist/utils/date.d.ts.map +1 -0
- package/dist/utils/date.js +13 -0
- package/dist/utils/env.d.ts +20 -0
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/env.js +23 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +6 -0
- package/dist/utils/user-mapper.d.ts +21 -0
- package/dist/utils/user-mapper.d.ts.map +1 -0
- package/dist/utils/user-mapper.js +55 -0
- package/package.json +3 -4
- package/dist/components/auth-sync.d.ts +0 -25
- package/dist/components/auth-sync.d.ts.map +0 -1
- package/dist/components/auth-sync.js +0 -346
- package/dist/components/protected-route.d.ts +0 -18
- package/dist/components/protected-route.d.ts.map +0 -1
- package/dist/components/protected-route.js +0 -34
- package/dist/components/sign-in-page.d.ts +0 -21
- package/dist/components/sign-in-page.d.ts.map +0 -1
- package/dist/components/sign-in-page.js +0 -31
- package/dist/core/init-auth-sync.d.ts +0 -7
- package/dist/core/init-auth-sync.d.ts.map +0 -1
- package/dist/core/init-auth-sync.js +0 -34
- package/dist/types.d.ts +0 -87
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -4
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 同步版本的认证初始化
|
|
3
|
-
* 可以在应用渲染前调用(非 React hook)
|
|
4
|
-
*/
|
|
5
|
-
export async function initAuthSync(auth) {
|
|
6
|
-
const { authActions, tokenStorage } = auth;
|
|
7
|
-
// 检查 URL 中的 token
|
|
8
|
-
const urlParams = new URLSearchParams(window.location.search);
|
|
9
|
-
let tokenFromUrl = urlParams.get("token");
|
|
10
|
-
if (tokenFromUrl) {
|
|
11
|
-
if (decodeURIComponent(tokenFromUrl) === tokenFromUrl) {
|
|
12
|
-
tokenFromUrl = encodeURIComponent(tokenFromUrl);
|
|
13
|
-
}
|
|
14
|
-
// 立即清理 URL 中的 token 参数(避免暴露)
|
|
15
|
-
urlParams.delete("token");
|
|
16
|
-
const newUrl = urlParams.toString()
|
|
17
|
-
? `${window.location.pathname}?${urlParams.toString()}`
|
|
18
|
-
: window.location.pathname;
|
|
19
|
-
window.history.replaceState({}, "", newUrl);
|
|
20
|
-
// 使用 token 获取 session
|
|
21
|
-
await authActions.fetchSessionWithToken(tokenFromUrl);
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
// 检查 localStorage 中是否有存储的 token
|
|
25
|
-
const storedToken = tokenStorage.get();
|
|
26
|
-
if (storedToken) {
|
|
27
|
-
await authActions.fetchSessionWithToken(storedToken);
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
// 没有 token,标记为已加载
|
|
31
|
-
await authActions.initialize(null, true);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
package/dist/types.d.ts
DELETED
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 认证相关的类型定义
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* 会话用户信息
|
|
6
|
-
*
|
|
7
|
-
* 包含用户基本信息和当前活动的组织/团队上下文
|
|
8
|
-
*/
|
|
9
|
-
export type SessionUser = {
|
|
10
|
-
/** 当前活动的组织 ID */
|
|
11
|
-
activeOrganizationId?: string;
|
|
12
|
-
/** 当前活动的团队 ID */
|
|
13
|
-
activeTeamId?: string;
|
|
14
|
-
/** 禁用到期时间 */
|
|
15
|
-
banExpires?: string;
|
|
16
|
-
/** 禁用原因 */
|
|
17
|
-
banReason?: string;
|
|
18
|
-
/** 是否被禁用 */
|
|
19
|
-
banned?: boolean;
|
|
20
|
-
/** 用户创建时间 */
|
|
21
|
-
createdAt: string;
|
|
22
|
-
/** 用户邮箱 */
|
|
23
|
-
email: string;
|
|
24
|
-
/** 邮箱是否已验证 */
|
|
25
|
-
emailVerified: boolean;
|
|
26
|
-
/** 用户 ID */
|
|
27
|
-
id: string;
|
|
28
|
-
/** 用户头像 URL */
|
|
29
|
-
image?: string;
|
|
30
|
-
/** 最后登录时间 */
|
|
31
|
-
lastLoginAt?: string;
|
|
32
|
-
/** 用户名称 */
|
|
33
|
-
name: string;
|
|
34
|
-
/** 用户角色 */
|
|
35
|
-
role?: string;
|
|
36
|
-
/** 用户信息更新时间 */
|
|
37
|
-
updatedAt: string;
|
|
38
|
-
};
|
|
39
|
-
/**
|
|
40
|
-
* Better Auth Session 对象
|
|
41
|
-
*
|
|
42
|
-
* 包含会话信息和关联的用户数据
|
|
43
|
-
*/
|
|
44
|
-
export type Session = {
|
|
45
|
-
/** 当前活动的组织 ID(存储在 session 中) */
|
|
46
|
-
activeOrganizationId?: string;
|
|
47
|
-
/** 当前活动的团队 ID(存储在 session 中) */
|
|
48
|
-
activeTeamId?: string;
|
|
49
|
-
/** 会话创建时间 */
|
|
50
|
-
createdAt: string;
|
|
51
|
-
/** 会话过期时间 */
|
|
52
|
-
expiresAt: string;
|
|
53
|
-
/** 会话 ID */
|
|
54
|
-
id: string;
|
|
55
|
-
/** 客户端 IP 地址 */
|
|
56
|
-
ipAddress?: string;
|
|
57
|
-
/** 会话 Token */
|
|
58
|
-
token: string;
|
|
59
|
-
/** 会话更新时间 */
|
|
60
|
-
updatedAt: string;
|
|
61
|
-
/** 关联的用户信息 */
|
|
62
|
-
user: SessionUser;
|
|
63
|
-
/** 客户端 User-Agent */
|
|
64
|
-
userAgent?: string;
|
|
65
|
-
/** 用户 ID */
|
|
66
|
-
userId: string;
|
|
67
|
-
};
|
|
68
|
-
/**
|
|
69
|
-
* 认证状态
|
|
70
|
-
*
|
|
71
|
-
* 存储在 Legend State 中的认证状态数据
|
|
72
|
-
*/
|
|
73
|
-
export interface AuthState {
|
|
74
|
-
/** 错误信息 */
|
|
75
|
-
error: string | null;
|
|
76
|
-
/** 是否已认证 */
|
|
77
|
-
isAuthenticated: boolean;
|
|
78
|
-
/** 是否已加载完成 */
|
|
79
|
-
isLoaded: boolean;
|
|
80
|
-
/** 是否正在加载 */
|
|
81
|
-
loading: boolean;
|
|
82
|
-
/** 认证 Token */
|
|
83
|
-
token: string | null;
|
|
84
|
-
/** 当前用户信息 */
|
|
85
|
-
user: SessionUser | null;
|
|
86
|
-
}
|
|
87
|
-
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,iBAAiB;IACjB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY;IACZ,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;IACd,cAAc;IACd,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,eAAe;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe;IACf,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,gCAAgC;IAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gCAAgC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe;IACf,KAAK,EAAE,MAAM,CAAC;IACd,aAAa;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,qBAAqB;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY;IACZ,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,WAAW;IACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,YAAY;IACZ,eAAe,EAAE,OAAO,CAAA;IACxB,cAAc;IACd,QAAQ,EAAE,OAAO,CAAA;IACjB,aAAa;IACb,OAAO,EAAE,OAAO,CAAA;IAChB,eAAe;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,aAAa;IACb,IAAI,EAAE,WAAW,GAAG,IAAI,CAAA;CACzB"}
|
package/dist/types.js
DELETED