feat: support username-free passkey login

This commit is contained in:
sagitchu
2026-09-30 21:03:47 +08:00
parent 6da8b2b6ec
commit ea0612c4b9
7 changed files with 243 additions and 79 deletions
+2 -2
View File
@@ -84,8 +84,8 @@ export interface PasskeyItem {
export const getPasskeyStatus = () =>
Network.post<{ enabled: boolean }>("/user/passkey/status");
export const beginPasskeyLogin = (username: string) =>
Network.post<PasskeyOptions>("/user/passkey/login/begin", { username });
export const beginPasskeyLogin = () =>
Network.post<PasskeyOptions>("/user/passkey/login/begin", {});
export const finishPasskeyLogin = (sessionId: string, credential: unknown) =>
Network.post<LoginResponse>("/user/passkey/login/finish", {
sessionId,
+3 -8
View File
@@ -55,14 +55,9 @@ export default function IndexPage() {
}, []);
const handlePasskeyLogin = async () => {
if (!form.username.trim()) {
toast.error("请输入用户名");
return;
}
setLoading(true);
try {
const begin = await beginPasskeyLogin(form.username.trim());
const begin = await beginPasskeyLogin();
if (begin.code !== 0) {
toast.error(begin.msg || "无法使用通行证密钥登录");
@@ -282,9 +277,9 @@ export default function IndexPage() {
className="h-12 rounded-xl"
disabled={loading}
variant="bordered"
onPress={handlePasskeyLogin}
onPress={() => void handlePasskeyLogin()}
>
使用通行证密钥登录
选择通行证密钥登录
</Button>
)}
</div>