@zlooks.cn/password-auth-server 1.0.4 → 1.0.6
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/.hile-rsc/{build-mtu1gn28-ec03cfb2/client-browser/chunks/chunk-CZF5VGOJ.js → build-mtwz7fk2-a912695b/client-browser/chunks/chunk-XJNPI5IC.js} +22 -70
- package/.hile-rsc/{build-mtu1gn28-ec03cfb2/client-browser/src-plugin-page-frame-07c4de56a6-C2WHPDGD.js → build-mtwz7fk2-a912695b/client-browser/src-plugin-page-frame-07c4de56a6-RAI54M3V.js} +1 -1
- package/.hile-rsc/{build-mtu1gn28-ec03cfb2/client-browser/src-plugin-password-form-3bd63d69e5-BCAMXKEX.js → build-mtwz7fk2-a912695b/client-browser/src-plugin-password-form-3bd63d69e5-DTURXEQT.js} +236 -115
- package/.hile-rsc/{build-mtu1gn28-ec03cfb2/client-ssr/chunks/chunk-RMKQVF3F.js → build-mtwz7fk2-a912695b/client-ssr/chunks/chunk-3ROBWYWF.js} +21 -69
- package/.hile-rsc/{build-mtu1gn28-ec03cfb2/client-ssr/src-plugin-page-frame-07c4de56a6-ICZZGKBP.js → build-mtwz7fk2-a912695b/client-ssr/src-plugin-page-frame-07c4de56a6-T2ICVKWU.js} +1 -1
- package/.hile-rsc/{build-mtu1gn28-ec03cfb2/client-ssr/src-plugin-password-form-3bd63d69e5-KF6ZLTDT.js → build-mtwz7fk2-a912695b/client-ssr/src-plugin-password-form-3bd63d69e5-7GPQ7P5J.js} +236 -115
- package/.hile-rsc/{build-mtu1gn28-ec03cfb2 → build-mtwz7fk2-a912695b}/plugin.json +18 -18
- package/.hile-rsc/{build-mtu1gn28-ec03cfb2 → build-mtwz7fk2-a912695b}/server-rsc/index.js +150 -131
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +37 -6
- package/dist/config/schema.js.map +1 -1
- package/dist/messages/auth-extension/begin.msg.js +6 -5
- package/dist/messages/auth-extension/begin.msg.js.map +1 -1
- package/dist/messages/auth-extension/complete.msg.js +6 -5
- package/dist/messages/auth-extension/complete.msg.js.map +1 -1
- package/dist/models/begin-authentication.model.d.ts +22 -0
- package/dist/models/begin-authentication.model.d.ts.map +1 -0
- package/dist/models/begin-authentication.model.js +13 -0
- package/dist/models/begin-authentication.model.js.map +1 -0
- package/dist/models/complete-authentication.model.d.ts +35 -0
- package/dist/models/complete-authentication.model.d.ts.map +1 -0
- package/dist/models/complete-authentication.model.js +13 -0
- package/dist/models/complete-authentication.model.js.map +1 -0
- package/dist/runtime/password-state-store.d.ts.map +1 -1
- package/dist/runtime/password-state-store.js +23 -10
- package/dist/runtime/password-state-store.js.map +1 -1
- package/package.json +26 -25
- /package/.hile-rsc/{build-mtu1gn28-ec03cfb2 → build-mtwz7fk2-a912695b}/client-browser/src-plugin-page-frame-07c4de56a6-3F24AYCH.css +0 -0
- /package/.hile-rsc/{build-mtu1gn28-ec03cfb2 → build-mtwz7fk2-a912695b}/client-browser/src-plugin-password-form-3bd63d69e5-TRYMJX4F.css +0 -0
- /package/.hile-rsc/{build-mtu1gn28-ec03cfb2 → build-mtwz7fk2-a912695b}/styles/4b3193c4f2b317ffed425ccf401342a4bdd6ccfd5f9c42def3315e776f166975.css +0 -0
|
@@ -53,7 +53,7 @@ import {
|
|
|
53
53
|
useState,
|
|
54
54
|
useSyncExternalStore,
|
|
55
55
|
useZlooksApp
|
|
56
|
-
} from "./chunks/chunk-
|
|
56
|
+
} from "./chunks/chunk-3ROBWYWF.js";
|
|
57
57
|
|
|
58
58
|
// ../../node_modules/.pnpm/antd@6.6.1_luxon@3.7.2_moment@2.30.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/antd/es/app/App.js
|
|
59
59
|
init_react();
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
RscLink,
|
|
4
|
-
USER_SESSION_COOKIE,
|
|
5
4
|
__commonJS,
|
|
6
5
|
__toCommonJS,
|
|
7
6
|
__toESM,
|
|
8
|
-
|
|
7
|
+
browserApiPath,
|
|
9
8
|
browserApiResponseSchema,
|
|
10
9
|
external_exports,
|
|
11
10
|
init_react,
|
|
@@ -75,7 +74,7 @@ import {
|
|
|
75
74
|
useRequest,
|
|
76
75
|
useRscNavigation,
|
|
77
76
|
useState
|
|
78
|
-
} from "./chunks/chunk-
|
|
77
|
+
} from "./chunks/chunk-3ROBWYWF.js";
|
|
79
78
|
|
|
80
79
|
// ../../node_modules/.pnpm/antd@6.6.1_luxon@3.7.2_moment@2.30.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/antd/lib/_util/getReactMajorVersionCanDelMe.js
|
|
81
80
|
var require_getReactMajorVersionCanDelMe = __commonJS({
|
|
@@ -120060,54 +120059,13 @@ var USER_EVENT_CATALOG = defineEventCatalog({
|
|
|
120060
120059
|
});
|
|
120061
120060
|
|
|
120062
120061
|
// ../user-shared/dist/index.js
|
|
120063
|
-
var USER_BROWSER_API_PUBLIC_ROUTES = Object.freeze([
|
|
120064
|
-
Object.freeze({
|
|
120065
|
-
exact: "/api/auth/methods",
|
|
120066
|
-
methods: Object.freeze(["GET"]),
|
|
120067
|
-
forwardCookieNames: Object.freeze([])
|
|
120068
|
-
}),
|
|
120069
|
-
Object.freeze({
|
|
120070
|
-
exact: "/api/user/shell",
|
|
120071
|
-
methods: Object.freeze(["GET"]),
|
|
120072
|
-
forwardCookieNames: Object.freeze([USER_SESSION_COOKIE])
|
|
120073
|
-
}),
|
|
120074
|
-
Object.freeze({
|
|
120075
|
-
exact: "/api/user",
|
|
120076
|
-
methods: Object.freeze(["GET", "PATCH"]),
|
|
120077
|
-
forwardCookieNames: Object.freeze([USER_SESSION_COOKIE])
|
|
120078
|
-
}),
|
|
120079
|
-
Object.freeze({
|
|
120080
|
-
exact: "/api/user/sessions",
|
|
120081
|
-
methods: Object.freeze(["GET"]),
|
|
120082
|
-
forwardCookieNames: Object.freeze([USER_SESSION_COOKIE])
|
|
120083
|
-
}),
|
|
120084
|
-
Object.freeze({
|
|
120085
|
-
exact: "/api/auth/transactions",
|
|
120086
|
-
methods: Object.freeze(["POST"]),
|
|
120087
|
-
forwardCookieNames: Object.freeze([])
|
|
120088
|
-
}),
|
|
120089
|
-
Object.freeze({
|
|
120090
|
-
prefix: "/api/auth/transactions/",
|
|
120091
|
-
methods: Object.freeze(["POST"]),
|
|
120092
|
-
forwardCookieNames: Object.freeze([])
|
|
120093
|
-
}),
|
|
120094
|
-
Object.freeze({
|
|
120095
|
-
exact: "/api/auth/logout",
|
|
120096
|
-
methods: Object.freeze(["POST"]),
|
|
120097
|
-
forwardCookieNames: Object.freeze([USER_SESSION_COOKIE])
|
|
120098
|
-
}),
|
|
120099
|
-
Object.freeze({
|
|
120100
|
-
exact: "/api/auth/session/refresh",
|
|
120101
|
-
methods: Object.freeze(["POST"]),
|
|
120102
|
-
forwardCookieNames: Object.freeze([USER_SESSION_COOKIE])
|
|
120103
|
-
}),
|
|
120104
|
-
Object.freeze({
|
|
120105
|
-
prefix: "/api/user/sessions/",
|
|
120106
|
-
methods: Object.freeze(["POST"]),
|
|
120107
|
-
forwardCookieNames: Object.freeze([USER_SESSION_COOKIE])
|
|
120108
|
-
})
|
|
120109
|
-
]);
|
|
120110
120062
|
var USER_ACCOUNT_HREF = "/user.account/account";
|
|
120063
|
+
var USER_BROWSER_AUTH_METHODS_PATH = browserApiPath(USER_SERVICE_NAMESPACE, "/api/auth/methods");
|
|
120064
|
+
var USER_BROWSER_AUTH_TRANSACTIONS_PATH = browserApiPath(USER_SERVICE_NAMESPACE, "/api/auth/transactions");
|
|
120065
|
+
var USER_BROWSER_LOGOUT_PATH = browserApiPath(USER_SERVICE_NAMESPACE, "/api/auth/logout");
|
|
120066
|
+
var USER_BROWSER_SESSION_REFRESH_PATH = browserApiPath(USER_SERVICE_NAMESPACE, "/api/auth/session/refresh");
|
|
120067
|
+
var USER_BROWSER_USER_PATH = browserApiPath(USER_SERVICE_NAMESPACE, "/api/user");
|
|
120068
|
+
var USER_BROWSER_USER_SESSIONS_PATH = browserApiPath(USER_SERVICE_NAMESPACE, "/api/user/sessions");
|
|
120111
120069
|
var USER_BROWSER_API_ERROR_CODES = Object.freeze({
|
|
120112
120070
|
crossOriginRejected: 1001,
|
|
120113
120071
|
requestRejected: 1002,
|
|
@@ -120153,6 +120111,121 @@ var sessionCookieSchema = external_exports.discriminatedUnion("action", [
|
|
|
120153
120111
|
}),
|
|
120154
120112
|
external_exports.strictObject({ action: external_exports.literal("clear") })
|
|
120155
120113
|
]);
|
|
120114
|
+
var sessionTokenSchema = external_exports.string().min(1).max(4096);
|
|
120115
|
+
var authenticationMethodSchema = external_exports.strictObject({
|
|
120116
|
+
id: external_exports.string().regex(/^[a-z][a-z0-9._-]{0,127}$/),
|
|
120117
|
+
label: external_exports.string().trim().min(1).max(80),
|
|
120118
|
+
capabilities: external_exports.strictObject({
|
|
120119
|
+
login: external_exports.boolean(),
|
|
120120
|
+
registration: external_exports.boolean()
|
|
120121
|
+
}),
|
|
120122
|
+
rsc: external_exports.strictObject({
|
|
120123
|
+
pluginId: external_exports.string().regex(/^[a-z][a-z0-9._-]{0,127}$/),
|
|
120124
|
+
slots: external_exports.strictObject({
|
|
120125
|
+
login: absolutePath.optional(),
|
|
120126
|
+
registration: absolutePath.optional()
|
|
120127
|
+
})
|
|
120128
|
+
})
|
|
120129
|
+
}).readonly();
|
|
120130
|
+
var userEmptyRequestSchema = external_exports.strictObject({}).readonly();
|
|
120131
|
+
var userAuthenticationCatalogResponseSchema = external_exports.strictObject({
|
|
120132
|
+
methods: external_exports.array(authenticationMethodSchema).max(64).readonly()
|
|
120133
|
+
}).readonly();
|
|
120134
|
+
var userAuthenticationBeginRequestSchema = external_exports.strictObject({
|
|
120135
|
+
methodId: external_exports.string().regex(/^[a-z][a-z0-9._-]{0,127}$/),
|
|
120136
|
+
intent: external_exports.enum(["login", "registration", "linking", "reauthentication", "recovery"]),
|
|
120137
|
+
loginHint: external_exports.string().trim().min(1).max(320).optional(),
|
|
120138
|
+
requestContext: external_exports.strictObject({ clientKey: external_exports.string().min(16).max(128) })
|
|
120139
|
+
}).readonly();
|
|
120140
|
+
var userAuthenticationBeginResponseSchema = external_exports.discriminatedUnion("status", [
|
|
120141
|
+
external_exports.strictObject({
|
|
120142
|
+
status: external_exports.literal("input-required"),
|
|
120143
|
+
transactionId: external_exports.uuid(),
|
|
120144
|
+
methodId: external_exports.string().regex(/^[a-z][a-z0-9._-]{0,127}$/)
|
|
120145
|
+
}),
|
|
120146
|
+
external_exports.strictObject({
|
|
120147
|
+
status: external_exports.literal("redirect-required"),
|
|
120148
|
+
transactionId: external_exports.uuid(),
|
|
120149
|
+
methodId: external_exports.string().regex(/^[a-z][a-z0-9._-]{0,127}$/),
|
|
120150
|
+
redirectUrl: external_exports.url().max(4096)
|
|
120151
|
+
}),
|
|
120152
|
+
external_exports.strictObject({
|
|
120153
|
+
status: external_exports.literal("pending"),
|
|
120154
|
+
transactionId: external_exports.uuid(),
|
|
120155
|
+
methodId: external_exports.string().regex(/^[a-z][a-z0-9._-]{0,127}$/),
|
|
120156
|
+
retryAfterMs: external_exports.number().int().min(250).max(6e4)
|
|
120157
|
+
})
|
|
120158
|
+
]).readonly();
|
|
120159
|
+
var userAuthenticationCompleteRequestSchema = external_exports.strictObject({
|
|
120160
|
+
input: external_exports.unknown()
|
|
120161
|
+
}).readonly();
|
|
120162
|
+
var userAuthenticationCompletionResponseSchema = external_exports.discriminatedUnion("status", [
|
|
120163
|
+
external_exports.strictObject({
|
|
120164
|
+
status: external_exports.literal("verified"),
|
|
120165
|
+
session: external_exports.strictObject({ token: sessionTokenSchema, expiresAt: external_exports.iso.datetime({ offset: true }) }),
|
|
120166
|
+
user: external_exports.unknown()
|
|
120167
|
+
}),
|
|
120168
|
+
external_exports.strictObject({ status: external_exports.literal("denied"), code: external_exports.string().min(1).max(128) }),
|
|
120169
|
+
external_exports.strictObject({
|
|
120170
|
+
status: external_exports.literal("pending"),
|
|
120171
|
+
retryAfterMs: external_exports.number().int().min(250).max(6e4)
|
|
120172
|
+
})
|
|
120173
|
+
]).readonly();
|
|
120174
|
+
var userAccountSchema = external_exports.strictObject({
|
|
120175
|
+
id: external_exports.string().min(1).max(128),
|
|
120176
|
+
displayName: external_exports.string().min(1).max(160).optional(),
|
|
120177
|
+
avatar: external_exports.url({ protocol: /^https?$/ }).max(2048).optional(),
|
|
120178
|
+
homepage: external_exports.url({ protocol: /^https?$/ }).max(2048).optional(),
|
|
120179
|
+
bio: external_exports.string().max(500).optional(),
|
|
120180
|
+
email: external_exports.email().max(320).optional(),
|
|
120181
|
+
emailVerified: external_exports.boolean()
|
|
120182
|
+
}).readonly();
|
|
120183
|
+
var userAccountReadResponseSchema = external_exports.strictObject({ user: userAccountSchema }).readonly();
|
|
120184
|
+
var userAccountUpdateRequestSchema = external_exports.strictObject({ input: external_exports.unknown() }).readonly();
|
|
120185
|
+
var userSessionSchema = external_exports.strictObject({
|
|
120186
|
+
id: external_exports.string().min(1).max(128),
|
|
120187
|
+
createdAt: external_exports.iso.datetime(),
|
|
120188
|
+
lastSeenAt: external_exports.iso.datetime(),
|
|
120189
|
+
expiresAt: external_exports.iso.datetime(),
|
|
120190
|
+
revoked: external_exports.boolean()
|
|
120191
|
+
}).readonly();
|
|
120192
|
+
var userAccountSessionsResponseSchema = external_exports.strictObject({
|
|
120193
|
+
sessions: external_exports.array(userSessionSchema).max(100).readonly()
|
|
120194
|
+
}).readonly();
|
|
120195
|
+
var userSessionRevokeResponseSchema = external_exports.strictObject({ revoked: external_exports.boolean() }).readonly();
|
|
120196
|
+
var userLogoutResponseSchema = external_exports.strictObject({ revoked: external_exports.boolean() }).readonly();
|
|
120197
|
+
var userRefreshSessionResponseSchema = external_exports.strictObject({
|
|
120198
|
+
session: external_exports.strictObject({
|
|
120199
|
+
token: sessionTokenSchema,
|
|
120200
|
+
expiresAt: external_exports.iso.datetime({ offset: true }),
|
|
120201
|
+
user: userAccountSchema
|
|
120202
|
+
})
|
|
120203
|
+
}).readonly();
|
|
120204
|
+
var userEventCatalogResponseSchema = external_exports.strictObject({
|
|
120205
|
+
protocol: external_exports.literal("zlooks.event-catalog"),
|
|
120206
|
+
protocolVersion: external_exports.literal(1),
|
|
120207
|
+
providerId: external_exports.literal("user"),
|
|
120208
|
+
displayName: external_exports.string().min(1).max(160),
|
|
120209
|
+
producer: external_exports.literal(USER_SERVICE_NAMESPACE),
|
|
120210
|
+
contractPackage: external_exports.literal("@zlooks.cn/user-shared"),
|
|
120211
|
+
count: external_exports.literal(5),
|
|
120212
|
+
delivery: external_exports.strictObject({
|
|
120213
|
+
guarantee: external_exports.literal("at-least-once"),
|
|
120214
|
+
deduplicateBy: external_exports.literal("eventId")
|
|
120215
|
+
}),
|
|
120216
|
+
events: external_exports.array(external_exports.strictObject({
|
|
120217
|
+
type: external_exports.string().min(1).max(256),
|
|
120218
|
+
title: external_exports.string().min(1).max(160),
|
|
120219
|
+
description: external_exports.string().min(1).max(1e3),
|
|
120220
|
+
producer: external_exports.literal(USER_SERVICE_NAMESPACE),
|
|
120221
|
+
aggregateType: external_exports.string().min(1).max(128),
|
|
120222
|
+
consumer: external_exports.strictObject({
|
|
120223
|
+
packageName: external_exports.literal("@zlooks.cn/user-shared"),
|
|
120224
|
+
exportName: external_exports.string().min(1).max(128)
|
|
120225
|
+
}),
|
|
120226
|
+
dataSchema: external_exports.record(external_exports.string(), external_exports.unknown())
|
|
120227
|
+
})).length(5).readonly()
|
|
120228
|
+
}).readonly();
|
|
120156
120229
|
var userCurrentUserRequestSchema = external_exports.strictObject({}).readonly();
|
|
120157
120230
|
var userPublicProfileSchema = external_exports.strictObject({
|
|
120158
120231
|
id: external_exports.uuid(),
|
|
@@ -120173,7 +120246,9 @@ var userPublicProfilesRequestSchema = external_exports.strictObject({
|
|
|
120173
120246
|
userIds: external_exports.array(external_exports.uuid()).min(1).max(100).refine((userIds) => new Set(userIds).size === userIds.length, { message: "User IDs must be unique" }).readonly()
|
|
120174
120247
|
}).readonly();
|
|
120175
120248
|
var userPublicProfilesResponseSchema = external_exports.strictObject({
|
|
120176
|
-
users: external_exports.array(userPublicProfileSchema).max(100).refine((users) => new Set(users.map((user) => user.id)).size === users.length, {
|
|
120249
|
+
users: external_exports.array(userPublicProfileSchema).max(100).refine((users) => new Set(users.map((user) => user.id)).size === users.length, {
|
|
120250
|
+
message: "Public user profiles must be unique"
|
|
120251
|
+
}).readonly()
|
|
120177
120252
|
}).readonly();
|
|
120178
120253
|
var userBrowserApiRequestSchema = external_exports.strictObject({
|
|
120179
120254
|
method: external_exports.enum(["GET", "POST", "PATCH"]),
|
|
@@ -120182,24 +120257,6 @@ var userBrowserApiRequestSchema = external_exports.strictObject({
|
|
|
120182
120257
|
clientKey: external_exports.string().regex(/^[a-f0-9]{64}$/),
|
|
120183
120258
|
body: external_exports.unknown().optional()
|
|
120184
120259
|
}).readonly();
|
|
120185
|
-
var userBrowserApiProviderRequestSchema = external_exports.strictObject({
|
|
120186
|
-
method: external_exports.enum(["GET", "POST", "PATCH"]),
|
|
120187
|
-
path: absolutePath,
|
|
120188
|
-
origin: external_exports.string().max(2048).optional(),
|
|
120189
|
-
clientKey: external_exports.string().regex(/^[a-f0-9]{64}$/),
|
|
120190
|
-
body: external_exports.unknown().optional()
|
|
120191
|
-
}).readonly();
|
|
120192
|
-
var userBrowserApiProviderResponseSchema = browserApiDispatchResponseSchema.superRefine((response, context) => {
|
|
120193
|
-
for (const [index, effect] of (response.cookieEffects ?? []).entries()) {
|
|
120194
|
-
if (effect.name === USER_SESSION_COOKIE)
|
|
120195
|
-
continue;
|
|
120196
|
-
context.addIssue({
|
|
120197
|
-
code: "custom",
|
|
120198
|
-
message: "User Browser API may only mutate its declared session cookie",
|
|
120199
|
-
path: ["cookieEffects", index, "name"]
|
|
120200
|
-
});
|
|
120201
|
-
}
|
|
120202
|
-
}).readonly();
|
|
120203
120260
|
var userBrowserApiResponseSchema = external_exports.strictObject({
|
|
120204
120261
|
status: external_exports.number().int().min(200).max(599).refine((status) => status < 300 || status >= 400),
|
|
120205
120262
|
body: browserApiResponseSchema,
|
|
@@ -120227,6 +120284,9 @@ var userCredentialLifecycleEventSchema = external_exports.strictObject({
|
|
|
120227
120284
|
var userCredentialLifecycleResponseSchema = external_exports.strictObject({
|
|
120228
120285
|
acknowledged: external_exports.literal(true)
|
|
120229
120286
|
}).readonly();
|
|
120287
|
+
function userBrowserTransactionCompletePath(transactionId) {
|
|
120288
|
+
return `${USER_BROWSER_AUTH_TRANSACTIONS_PATH}/${encodeURIComponent(external_exports.string().trim().min(1).max(128).parse(transactionId))}/complete`;
|
|
120289
|
+
}
|
|
120230
120290
|
|
|
120231
120291
|
// src/plugin/password-form.tsx
|
|
120232
120292
|
var import_antd = __toESM(require_lib48(), 1);
|
|
@@ -120289,7 +120349,7 @@ function PasswordForm(props) {
|
|
|
120289
120349
|
if (countdown <= 0) return;
|
|
120290
120350
|
const timer = window.setInterval(() => setCountdown((value) => Math.max(0, value - 1)), 1e3);
|
|
120291
120351
|
return () => window.clearInterval(timer);
|
|
120292
|
-
}, [countdown
|
|
120352
|
+
}, [countdown]);
|
|
120293
120353
|
async function ensureTransaction() {
|
|
120294
120354
|
if (transactionId) return transactionId;
|
|
120295
120355
|
const created = await beginTransaction(request, props.intent);
|
|
@@ -120304,7 +120364,7 @@ function PasswordForm(props) {
|
|
|
120304
120364
|
const requestId = pendingSend.current?.email === email ? pendingSend.current.requestId : crypto.randomUUID();
|
|
120305
120365
|
pendingSend.current = { email, requestId };
|
|
120306
120366
|
const challenge = await request(
|
|
120307
|
-
|
|
120367
|
+
userBrowserTransactionCompletePath(currentTransactionId),
|
|
120308
120368
|
{
|
|
120309
120369
|
method: "POST",
|
|
120310
120370
|
headers: { "content-type": "application/json" },
|
|
@@ -120332,12 +120392,16 @@ function PasswordForm(props) {
|
|
|
120332
120392
|
code: values.code,
|
|
120333
120393
|
...needsPassword ? { password: values.password } : {}
|
|
120334
120394
|
} : { action: "password-login", email: values.email, password: values.password };
|
|
120335
|
-
await request(
|
|
120336
|
-
|
|
120337
|
-
|
|
120338
|
-
|
|
120339
|
-
|
|
120340
|
-
|
|
120395
|
+
await request(
|
|
120396
|
+
userBrowserTransactionCompletePath(currentTransactionId),
|
|
120397
|
+
{
|
|
120398
|
+
method: "POST",
|
|
120399
|
+
headers: { "content-type": "application/json" },
|
|
120400
|
+
credentials: "same-origin",
|
|
120401
|
+
body: JSON.stringify({ input })
|
|
120402
|
+
},
|
|
120403
|
+
{ errorMessage: "\u6CA1\u6709\u5B8C\u6210\uFF0C\u8BF7\u68C0\u67E5\u8F93\u5165\u540E\u91CD\u8BD5", parse: parseAuthenticationCompletion }
|
|
120404
|
+
);
|
|
120341
120405
|
if (props.intent === "registration") {
|
|
120342
120406
|
navigation.replace(USER_ACCOUNT_HREF);
|
|
120343
120407
|
return;
|
|
@@ -120379,7 +120443,10 @@ function PasswordForm(props) {
|
|
|
120379
120443
|
{
|
|
120380
120444
|
"aria-label": "\u9009\u62E9\u767B\u5F55\u65B9\u5F0F",
|
|
120381
120445
|
block: true,
|
|
120382
|
-
options: [
|
|
120446
|
+
options: [
|
|
120447
|
+
{ label: "\u5BC6\u7801\u767B\u5F55", value: "password" },
|
|
120448
|
+
{ label: "\u9A8C\u8BC1\u7801\u767B\u5F55", value: "code" }
|
|
120449
|
+
],
|
|
120383
120450
|
size: "large",
|
|
120384
120451
|
value: mode,
|
|
120385
120452
|
onChange: (value) => {
|
|
@@ -120392,7 +120459,18 @@ function PasswordForm(props) {
|
|
|
120392
120459
|
}
|
|
120393
120460
|
}
|
|
120394
120461
|
) }) : null,
|
|
120395
|
-
/* @__PURE__ */ jsx(import_antd.Form.Item, { label: "\u90AE\u7BB1", name: "email", rules: emailRules, children: /* @__PURE__ */ jsx(
|
|
120462
|
+
/* @__PURE__ */ jsx(import_antd.Form.Item, { label: "\u90AE\u7BB1", name: "email", rules: emailRules, children: /* @__PURE__ */ jsx(
|
|
120463
|
+
import_antd.Input,
|
|
120464
|
+
{
|
|
120465
|
+
autoComplete: "username",
|
|
120466
|
+
disabled: codeSent,
|
|
120467
|
+
inputMode: "email",
|
|
120468
|
+
maxLength: 320,
|
|
120469
|
+
placeholder: "name@example.com",
|
|
120470
|
+
size: "large",
|
|
120471
|
+
type: "email"
|
|
120472
|
+
}
|
|
120473
|
+
) }),
|
|
120396
120474
|
codeSent ? /* @__PURE__ */ jsx(
|
|
120397
120475
|
import_antd.Button,
|
|
120398
120476
|
{
|
|
@@ -120411,7 +120489,29 @@ function PasswordForm(props) {
|
|
|
120411
120489
|
}
|
|
120412
120490
|
) : null,
|
|
120413
120491
|
usesCode ? /* @__PURE__ */ jsx(import_antd.Form.Item, { label: "\u9A8C\u8BC1\u7801", required: true, children: /* @__PURE__ */ jsxs("div", { className: password_form_default.codeRow, children: [
|
|
120414
|
-
/* @__PURE__ */ jsx(
|
|
120492
|
+
/* @__PURE__ */ jsx(
|
|
120493
|
+
import_antd.Form.Item,
|
|
120494
|
+
{
|
|
120495
|
+
noStyle: true,
|
|
120496
|
+
name: "code",
|
|
120497
|
+
rules: [
|
|
120498
|
+
{ required: true, message: "\u8BF7\u8F93\u5165\u9A8C\u8BC1\u7801" },
|
|
120499
|
+
{ len: 6, message: "\u9A8C\u8BC1\u7801\u5E94\u4E3A 6 \u4F4D\u6570\u5B57" },
|
|
120500
|
+
{ pattern: /^\d{6}$/, message: "\u9A8C\u8BC1\u7801\u5E94\u4E3A 6 \u4F4D\u6570\u5B57" }
|
|
120501
|
+
],
|
|
120502
|
+
children: /* @__PURE__ */ jsx(
|
|
120503
|
+
import_antd.Input,
|
|
120504
|
+
{
|
|
120505
|
+
"aria-label": "\u9A8C\u8BC1\u7801",
|
|
120506
|
+
autoComplete: "one-time-code",
|
|
120507
|
+
inputMode: "numeric",
|
|
120508
|
+
maxLength: 6,
|
|
120509
|
+
placeholder: "6 \u4F4D\u9A8C\u8BC1\u7801",
|
|
120510
|
+
size: "large"
|
|
120511
|
+
}
|
|
120512
|
+
)
|
|
120513
|
+
}
|
|
120514
|
+
),
|
|
120415
120515
|
/* @__PURE__ */ jsx(import_antd.Button, { disabled: countdown > 0 || submitting, loading: sending, onClick: sendCode, size: "large", children: countdown > 0 ? `${countdown} \u79D2\u540E\u91CD\u53D1` : codeSent ? "\u91CD\u65B0\u53D1\u9001" : "\u53D1\u9001\u9A8C\u8BC1\u7801" })
|
|
120416
120516
|
] }) }) : null,
|
|
120417
120517
|
needsPassword ? /* @__PURE__ */ jsx(
|
|
@@ -120432,7 +120532,18 @@ function PasswordForm(props) {
|
|
|
120432
120532
|
)
|
|
120433
120533
|
}
|
|
120434
120534
|
) : null,
|
|
120435
|
-
/* @__PURE__ */ jsx(
|
|
120535
|
+
/* @__PURE__ */ jsx(
|
|
120536
|
+
import_antd.Button,
|
|
120537
|
+
{
|
|
120538
|
+
block: true,
|
|
120539
|
+
htmlType: "submit",
|
|
120540
|
+
loading: submitting,
|
|
120541
|
+
size: "large",
|
|
120542
|
+
type: "primary",
|
|
120543
|
+
disabled: sending || usesCode && !codeSent,
|
|
120544
|
+
children: copy.submit
|
|
120545
|
+
}
|
|
120546
|
+
)
|
|
120436
120547
|
]
|
|
120437
120548
|
}
|
|
120438
120549
|
) }),
|
|
@@ -120446,14 +120557,16 @@ function PasswordForm(props) {
|
|
|
120446
120557
|
);
|
|
120447
120558
|
}
|
|
120448
120559
|
function AlternateLinks({ intent }) {
|
|
120449
|
-
if (intent === "registration")
|
|
120450
|
-
"
|
|
120451
|
-
|
|
120452
|
-
|
|
120453
|
-
|
|
120454
|
-
|
|
120455
|
-
/* @__PURE__ */
|
|
120456
|
-
|
|
120560
|
+
if (intent === "registration")
|
|
120561
|
+
return /* @__PURE__ */ jsxs("p", { className: password_form_default.alternate, children: [
|
|
120562
|
+
"\u5DF2\u7ECF\u6709\u8D26\u53F7\uFF1F",
|
|
120563
|
+
/* @__PURE__ */ jsx(RscLink, { href: "/auth.password/login", children: "\u8FD4\u56DE\u767B\u5F55" })
|
|
120564
|
+
] });
|
|
120565
|
+
if (intent === "recovery")
|
|
120566
|
+
return /* @__PURE__ */ jsxs("p", { className: password_form_default.alternate, children: [
|
|
120567
|
+
"\u60F3\u8D77\u5BC6\u7801\u4E86\uFF1F",
|
|
120568
|
+
/* @__PURE__ */ jsx(RscLink, { href: "/auth.password/login", children: "\u8FD4\u56DE\u767B\u5F55" })
|
|
120569
|
+
] });
|
|
120457
120570
|
return /* @__PURE__ */ jsxs("div", { className: password_form_default.alternateLinks, children: [
|
|
120458
120571
|
/* @__PURE__ */ jsxs("p", { children: [
|
|
120459
120572
|
/* @__PURE__ */ jsx("span", { children: "\u8FD8\u6CA1\u6709\u8D26\u6237\uFF1F" }),
|
|
@@ -120466,12 +120579,16 @@ function AlternateLinks({ intent }) {
|
|
|
120466
120579
|
] });
|
|
120467
120580
|
}
|
|
120468
120581
|
async function beginTransaction(request, intent) {
|
|
120469
|
-
return request(
|
|
120470
|
-
|
|
120471
|
-
|
|
120472
|
-
|
|
120473
|
-
|
|
120474
|
-
|
|
120582
|
+
return request(
|
|
120583
|
+
USER_BROWSER_AUTH_TRANSACTIONS_PATH,
|
|
120584
|
+
{
|
|
120585
|
+
method: "POST",
|
|
120586
|
+
headers: { "content-type": "application/json" },
|
|
120587
|
+
credentials: "same-origin",
|
|
120588
|
+
body: JSON.stringify({ methodId: "password", intent })
|
|
120589
|
+
},
|
|
120590
|
+
{ errorMessage: "\u6682\u65F6\u65E0\u6CD5\u7EE7\u7EED\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5", parse: parseTransactionId }
|
|
120591
|
+
);
|
|
120475
120592
|
}
|
|
120476
120593
|
function parseTransactionId(data) {
|
|
120477
120594
|
if (data === null || typeof data !== "object" || Array.isArray(data)) throw new Error("Invalid transaction response");
|
|
@@ -120489,31 +120606,35 @@ var emailRules = [
|
|
|
120489
120606
|
function passwordRules(requireMinimum) {
|
|
120490
120607
|
return [
|
|
120491
120608
|
{ required: true, message: "\u8BF7\u8F93\u5165\u5BC6\u7801" },
|
|
120492
|
-
...requireMinimum ? [
|
|
120493
|
-
|
|
120494
|
-
|
|
120495
|
-
|
|
120496
|
-
|
|
120609
|
+
...requireMinimum ? [
|
|
120610
|
+
{
|
|
120611
|
+
validator: async (_rule, value) => {
|
|
120612
|
+
if (!value) return;
|
|
120613
|
+
if (Array.from(value).length < 12) throw new Error("\u5BC6\u7801\u81F3\u5C11\u9700\u8981 12 \u4E2A\u5B57\u7B26");
|
|
120614
|
+
if (new TextEncoder().encode(value).byteLength > 128) throw new Error("\u5BC6\u7801\u8FC7\u957F\uFF0C\u8BF7\u7F29\u77ED\u540E\u91CD\u8BD5");
|
|
120615
|
+
}
|
|
120497
120616
|
}
|
|
120498
|
-
|
|
120617
|
+
] : [{ max: 128, message: "\u5BC6\u7801\u4E0D\u80FD\u8D85\u8FC7 128 \u4E2A\u5B57\u7B26" }]
|
|
120499
120618
|
];
|
|
120500
120619
|
}
|
|
120501
120620
|
var UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
120502
120621
|
function pageCopy(intent) {
|
|
120503
|
-
if (intent === "registration")
|
|
120504
|
-
|
|
120505
|
-
|
|
120506
|
-
|
|
120507
|
-
|
|
120508
|
-
|
|
120509
|
-
|
|
120510
|
-
|
|
120511
|
-
|
|
120512
|
-
|
|
120513
|
-
|
|
120514
|
-
|
|
120515
|
-
|
|
120516
|
-
|
|
120622
|
+
if (intent === "registration")
|
|
120623
|
+
return {
|
|
120624
|
+
introduction: "\u9A8C\u8BC1\u90AE\u7BB1\u5E76\u521B\u5EFA\u8D26\u53F7\u540E\uFF0C\u53EF\u4EE5\u7EE7\u7EED\u5B8C\u5584\u8D44\u6599\uFF0C\u6574\u7406\u5C5E\u4E8E\u4F60\u7684\u8BB0\u5F55\u3002",
|
|
120625
|
+
step: "ACCOUNT / REGISTER",
|
|
120626
|
+
title: "\u521B\u5EFA\u8D26\u6237",
|
|
120627
|
+
description: "\u4F7F\u7528\u90AE\u7BB1\u9A8C\u8BC1\u7801\u548C\u5BC6\u7801\u521B\u5EFA\u8D26\u53F7\u3002",
|
|
120628
|
+
submit: "\u521B\u5EFA\u8D26\u53F7"
|
|
120629
|
+
};
|
|
120630
|
+
if (intent === "recovery")
|
|
120631
|
+
return {
|
|
120632
|
+
introduction: "\u9A8C\u8BC1\u6CE8\u518C\u90AE\u7BB1\u540E\u8BBE\u7F6E\u65B0\u5BC6\u7801\uFF0C\u65E7\u8BBE\u5907\u4E0A\u7684\u767B\u5F55\u4F1A\u81EA\u52A8\u9000\u51FA\u3002",
|
|
120633
|
+
step: "ACCOUNT / RECOVERY",
|
|
120634
|
+
title: "\u627E\u56DE\u5BC6\u7801",
|
|
120635
|
+
description: "\u9A8C\u8BC1\u7801\u53EA\u4F1A\u53D1\u9001\u5230\u5DF2\u7ECF\u6CE8\u518C\u7684\u90AE\u7BB1\u3002",
|
|
120636
|
+
submit: "\u66F4\u65B0\u5BC6\u7801\u5E76\u767B\u5F55"
|
|
120637
|
+
};
|
|
120517
120638
|
return {
|
|
120518
120639
|
introduction: "\u767B\u5F55\u540E\u53EF\u4EE5\u7BA1\u7406\u4E2A\u4EBA\u8D44\u6599\u4E0E\u767B\u5F55\u4F1A\u8BDD\u3002",
|
|
120519
120640
|
step: "ACCOUNT / SIGN IN",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"protocolVersion": 1,
|
|
3
3
|
"pluginId": "auth.password",
|
|
4
|
-
"buildId": "build-
|
|
4
|
+
"buildId": "build-mtwz7fk2-a912695b",
|
|
5
5
|
"runtime": {
|
|
6
6
|
"react": "19.2.8",
|
|
7
7
|
"reactDom": "19.2.8",
|
|
@@ -9,49 +9,49 @@
|
|
|
9
9
|
},
|
|
10
10
|
"server": {
|
|
11
11
|
"entry": "server-rsc/index.js",
|
|
12
|
-
"integrity": "sha256-
|
|
12
|
+
"integrity": "sha256-4N1XYtF5h8TQank1SE8j5A3QNB1+iuqjpQNNn6+gFBA="
|
|
13
13
|
},
|
|
14
14
|
"serverFunctions": [],
|
|
15
15
|
"clients": [
|
|
16
16
|
{
|
|
17
17
|
"id": "auth.password/src/plugin/page-frame#default",
|
|
18
|
-
"module": "client-browser/src-plugin-page-frame-07c4de56a6-
|
|
19
|
-
"ssrModule": "client-ssr/src-plugin-page-frame-07c4de56a6-
|
|
18
|
+
"module": "client-browser/src-plugin-page-frame-07c4de56a6-RAI54M3V.js",
|
|
19
|
+
"ssrModule": "client-ssr/src-plugin-page-frame-07c4de56a6-T2ICVKWU.js",
|
|
20
20
|
"exportName": "default",
|
|
21
21
|
"chunks": [
|
|
22
22
|
{
|
|
23
|
-
"path": "client-browser/chunks/chunk-
|
|
24
|
-
"integrity": "sha256-
|
|
23
|
+
"path": "client-browser/chunks/chunk-XJNPI5IC.js",
|
|
24
|
+
"integrity": "sha256-tPci33JR2aSUPTLbsYMuM2ulEiw3fX1MkKEaqNWqQfw="
|
|
25
25
|
}
|
|
26
26
|
],
|
|
27
27
|
"ssrChunks": [
|
|
28
28
|
{
|
|
29
|
-
"path": "client-ssr/chunks/chunk-
|
|
30
|
-
"integrity": "sha256-
|
|
29
|
+
"path": "client-ssr/chunks/chunk-3ROBWYWF.js",
|
|
30
|
+
"integrity": "sha256-d8yNX3JQPyHZOhiJHno+WskA3PtcTktCW80UWeeJer4="
|
|
31
31
|
}
|
|
32
32
|
],
|
|
33
|
-
"integrity": "sha256-
|
|
34
|
-
"ssrIntegrity": "sha256-
|
|
33
|
+
"integrity": "sha256-KVD036aCGhJmHqgQPxPCF8mzEUcWUtyoftRW/7IUH6k=",
|
|
34
|
+
"ssrIntegrity": "sha256-uRnmzkQZUpIivY4VIP1Mdj7W6MzSu2YmBnToJdHtdeM="
|
|
35
35
|
},
|
|
36
36
|
{
|
|
37
37
|
"id": "auth.password/src/plugin/password-form#default",
|
|
38
|
-
"module": "client-browser/src-plugin-password-form-3bd63d69e5-
|
|
39
|
-
"ssrModule": "client-ssr/src-plugin-password-form-3bd63d69e5-
|
|
38
|
+
"module": "client-browser/src-plugin-password-form-3bd63d69e5-DTURXEQT.js",
|
|
39
|
+
"ssrModule": "client-ssr/src-plugin-password-form-3bd63d69e5-7GPQ7P5J.js",
|
|
40
40
|
"exportName": "default",
|
|
41
41
|
"chunks": [
|
|
42
42
|
{
|
|
43
|
-
"path": "client-browser/chunks/chunk-
|
|
44
|
-
"integrity": "sha256-
|
|
43
|
+
"path": "client-browser/chunks/chunk-XJNPI5IC.js",
|
|
44
|
+
"integrity": "sha256-tPci33JR2aSUPTLbsYMuM2ulEiw3fX1MkKEaqNWqQfw="
|
|
45
45
|
}
|
|
46
46
|
],
|
|
47
47
|
"ssrChunks": [
|
|
48
48
|
{
|
|
49
|
-
"path": "client-ssr/chunks/chunk-
|
|
50
|
-
"integrity": "sha256-
|
|
49
|
+
"path": "client-ssr/chunks/chunk-3ROBWYWF.js",
|
|
50
|
+
"integrity": "sha256-d8yNX3JQPyHZOhiJHno+WskA3PtcTktCW80UWeeJer4="
|
|
51
51
|
}
|
|
52
52
|
],
|
|
53
|
-
"integrity": "sha256-
|
|
54
|
-
"ssrIntegrity": "sha256-
|
|
53
|
+
"integrity": "sha256-APoZdKAAu1u3ENUPC0yNBDnCAbzt0RK0hvWuOdVy+QM=",
|
|
54
|
+
"ssrIntegrity": "sha256-9iBq5aEebTNQJ1Etanv6FBf5lL1S0J38+zXG0d91AAY="
|
|
55
55
|
}
|
|
56
56
|
],
|
|
57
57
|
"styles": [
|