feat(auth): add facebook identity psid login

This commit is contained in:
2026-07-10 17:07:22 +08:00
parent 2e60bf64e6
commit 53801490e5
28 changed files with 637 additions and 37 deletions
+6
View File
@@ -35,6 +35,9 @@ export class ApiPath {
/** Facebook ID 登录(v7.0 新增) */
static readonly facebookIdLogin = `${ApiPath._auth}/login/facebook/by-id`;
/** Facebook PSID 登录 */
static readonly facebookPsidLogin = `${ApiPath._auth}/login/facebook/psid`;
/** 刷新 Token */
static readonly refresh = `${ApiPath._auth}/refresh`;
@@ -51,6 +54,9 @@ export class ApiPath {
/** 获取当前用户权益快照 */
static readonly userEntitlements = `${ApiPath._user}/entitlements`;
/** 绑定 Facebook ASID / PSID */
static readonly userFacebookIdentity = `${ApiPath._user}/facebook/identity`;
// ============ 支付相关 ============
/** 创建充值订单 */
static readonly paymentCreateOrder = `${ApiPath._payment}/create-order`;
+34
View File
@@ -10,7 +10,11 @@ import { httpClient } from "./http_client";
import { ApiPath } from "./api_path";
import { ApiEnvelope, unwrap } from "./response_helper";
import {
FacebookIdentityRequest,
FacebookIdentityResponse,
FacebookLoginRequest,
FacebookPsidLoginRequest,
FacebookPsidLoginResponse,
FbIdLoginRequest,
GoogleLoginRequest,
GuestLoginRequest,
@@ -82,6 +86,36 @@ export class AuthApi {
return LoginResponse.fromJson(unwrap(env) as Record<string, unknown>);
}
/**
* Facebook PSID 登录
*/
async facebookPsidLogin(
body: FacebookPsidLoginRequest,
): Promise<FacebookPsidLoginResponse> {
const env = await httpClient<ApiEnvelope<unknown>>(
ApiPath.facebookPsidLogin,
{ method: "POST", body: body.toJson() },
);
return FacebookPsidLoginResponse.fromJson(
unwrap(env) as Record<string, unknown>,
);
}
/**
* 绑定 Facebook ASID / PSID 到当前用户
*/
async bindFacebookIdentity(
body: FacebookIdentityRequest,
): Promise<FacebookIdentityResponse> {
const env = await httpClient<ApiEnvelope<unknown>>(
ApiPath.userFacebookIdentity,
{ method: "POST", body: body.toJson() },
);
return FacebookIdentityResponse.fromJson(
unwrap(env) as Record<string, unknown>,
);
}
/**
* 退出登录(fire-and-forget
*
+8
View File
@@ -17,13 +17,17 @@ export * from "../../core/net/interceptor/logging_interceptor";
export * from "../../core/net/interceptor/token_interceptor";
// 注:原 ./auth/* 平台适配层已删除(社交登录改由 NextAuth 处理)
export * from "../dto/auth/facebook_user_data";
export * from "../dto/auth/request/facebook_identity_request";
export * from "../dto/auth/request/facebook_login_request";
export * from "../dto/auth/request/facebook_psid_login_request";
export * from "../dto/auth/request/fb_id_login_request";
export * from "../dto/auth/request/google_login_request";
export * from "../dto/auth/request/guest_login_request";
export * from "../dto/auth/request/login_request";
export * from "../dto/auth/request/refresh_token_request";
export * from "../dto/auth/request/register_request";
export * from "../dto/auth/response/facebook_identity_response";
export * from "../dto/auth/response/facebook_psid_login_response";
export * from "../dto/auth/response/guest_login_response";
export * from "../dto/auth/response/login_response";
export * from "../dto/auth/response/logout_response";
@@ -39,6 +43,10 @@ export * from "../dto/user/personality_traits";
export * from "../dto/user/recent_memory";
export * from "../dto/user/user";
export * from "../schemas/auth/facebook_login_request";
export * from "../schemas/auth/facebook_identity_request";
export * from "../schemas/auth/facebook_identity_response";
export * from "../schemas/auth/facebook_psid_login_request";
export * from "../schemas/auth/facebook_psid_login_response";
export * from "../schemas/auth/facebook_user_data";
export * from "../schemas/auth/fb_id_login_request";
export * from "../schemas/auth/google_login_request";