@autional/shared 0.1.0-rc.35 → 0.1.0-rc.36

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autional/shared",
3
- "version": "0.1.0-rc.35",
3
+ "version": "0.1.0-rc.36",
4
4
  "description": "Autional shared layer — API client, auth, types, hooks, utils",
5
5
  "license": "AGPL-3.0",
6
6
  "main": "./src/index.ts",
@@ -182,38 +182,85 @@ describe('buildLoginUrl', () => {
182
182
  });
183
183
  });
184
184
 
185
- describe('buildLogoutUrl(F-W5c 登出意图标记)', () => {
185
+ describe('buildLogoutUrl(TASK-LS-08 同源标准端点 + legacy 兜底)', () => {
186
186
  const AUTH_CONFIG = {
187
187
  VITE_PORTAL_CONFIG: {
188
188
  auth: { host: 'auth', base: '' },
189
189
  },
190
190
  };
191
+ /** env 级 client_id(三级来源之二) */
192
+ const CID_CONFIG = {
193
+ ...AUTH_CONFIG,
194
+ VITE_OAUTH_CLIENT_ID: 'cid-env',
195
+ };
191
196
 
192
- it('门户域登出:auth 裸根 + redirect 回程 + logout=1', () => {
193
- mockWindow('app.autional.com', 'https:', 'https://app.autional.com', AUTH_CONFIG);
197
+ beforeEach(() => {
198
+ // localStorage 桩按需设置;测试间清掉全局桩防跨用例泄漏(node 环境无真 localStorage)
199
+ vi.unstubAllGlobals();
200
+ });
201
+
202
+ it('门户域登出:同源标准端点 + client_id + post_logout_redirect_uri=<origin>/ + state=returnUrl', () => {
203
+ mockWindow('app.autional.com', 'https:', 'https://app.autional.com', CID_CONFIG);
194
204
  const url = buildLogoutUrl('https://app.autional.com/demo/');
195
205
  expect(url).toBe(
196
- 'https://auth.autional.com/?redirect=' +
197
- encodeURIComponent('https://app.autional.com/demo/') +
198
- '&logout=1',
206
+ 'https://app.autional.com/oauth/api/v1/oauth/logout?client_id=cid-env&post_logout_redirect_uri=' +
207
+ encodeURIComponent('https://app.autional.com/') +
208
+ '&state=' +
209
+ encodeURIComponent('https://app.autional.com/demo/'),
199
210
  );
200
211
  });
201
212
 
202
- it('auth 域租户页登出也走裸根:不经 /<slug>/login(那里 logout=1 被静默忽略)', () => {
203
- mockWindow('auth.autional.local', 'https:', 'https://auth.autional.local', AUTH_CONFIG);
213
+ it('auth 域租户页登出同样走同源标准端点(不再裸根 / 不经 /<slug>/login)', () => {
214
+ mockWindow('auth.autional.local', 'https:', 'https://auth.autional.local', CID_CONFIG);
204
215
  const url = buildLogoutUrl('https://auth.autional.local/acme-corp/dashboard');
205
216
  expect(url).toBe(
206
- 'https://auth.autional.local/?redirect=' +
207
- encodeURIComponent('https://auth.autional.local/acme-corp/dashboard') +
208
- '&logout=1',
217
+ 'https://auth.autional.local/oauth/api/v1/oauth/logout?client_id=cid-env&post_logout_redirect_uri=' +
218
+ encodeURIComponent('https://auth.autional.local/') +
219
+ '&state=' +
220
+ encodeURIComponent('https://auth.autional.local/acme-corp/dashboard'),
209
221
  );
210
222
  expect(url).not.toContain('/acme-corp/login');
211
223
  });
212
224
 
213
- it('无回程:auth 裸根 + logout=1', () => {
214
- mockWindow('auth.autional.local', 'https:', 'https://auth.autional.local', AUTH_CONFIG);
225
+ it('无回程:仅 client_id + post_logout_redirect_uri,不产 state', () => {
226
+ mockWindow('app.autional.com', 'https:', 'https://app.autional.com', CID_CONFIG);
215
227
  const url = buildLogoutUrl();
216
- expect(url).toBe('https://auth.autional.local/?logout=1');
228
+ expect(url).toBe(
229
+ 'https://app.autional.com/oauth/api/v1/oauth/logout?client_id=cid-env&post_logout_redirect_uri=' +
230
+ encodeURIComponent('https://app.autional.com/'),
231
+ );
232
+ });
233
+
234
+ describe('client_id 三级来源(会话持久化 → env → 空)', () => {
235
+ it('localStorage 会话值优先于 env', () => {
236
+ vi.stubGlobal('localStorage', { getItem: () => 'cid-session' });
237
+ mockWindow('app.autional.com', 'https:', 'https://app.autional.com', CID_CONFIG);
238
+ const url = buildLogoutUrl('https://app.autional.com/demo/');
239
+ expect(url).toContain('client_id=cid-session');
240
+ expect(url).not.toContain('cid-env');
241
+ });
242
+
243
+ it('localStorage 空 → env 兜底', () => {
244
+ vi.stubGlobal('localStorage', { getItem: () => null });
245
+ mockWindow('app.autional.com', 'https:', 'https://app.autional.com', CID_CONFIG);
246
+ expect(buildLogoutUrl()).toContain('client_id=cid-env');
247
+ });
248
+
249
+ it('双空 → legacy 兜底:auth 裸根 + redirect 回程 + logout=1', () => {
250
+ mockWindow('app.autional.com', 'https:', 'https://app.autional.com', AUTH_CONFIG);
251
+ const url = buildLogoutUrl('https://app.autional.com/demo/');
252
+ expect(url).toBe(
253
+ 'https://auth.autional.com/?redirect=' +
254
+ encodeURIComponent('https://app.autional.com/demo/') +
255
+ '&logout=1',
256
+ );
257
+ });
258
+
259
+ it('双空 + 无回程 → legacy 裸根 + logout=1(现行为保持)', () => {
260
+ mockWindow('auth.autional.local', 'https:', 'https://auth.autional.local', AUTH_CONFIG);
261
+ const url = buildLogoutUrl();
262
+ expect(url).toBe('https://auth.autional.local/?logout=1');
263
+ });
217
264
  });
218
265
  });
219
266
  });
package/src/auth/roles.ts CHANGED
@@ -8,6 +8,7 @@
8
8
  */
9
9
 
10
10
  import { getPortalUrl } from '../config';
11
+ import { resolveClientIdForSession } from './oauth-client-id-store';
11
12
 
12
13
  /** auth-pages 的静态/受保护路由 — 首段不会是租户 slug */
13
14
  const AUTH_ROUTE_RESERVED = new Set([
@@ -20,6 +21,7 @@ const AUTH_ROUTE_RESERVED = new Set([
20
21
  'privacy',
21
22
  'error',
22
23
  'logout',
24
+ 'logout-confirm',
23
25
  'passkey',
24
26
  'reapply',
25
27
  'mfa',
@@ -37,20 +39,41 @@ const AUTH_ROUTE_RESERVED = new Set([
37
39
  ]);
38
40
 
39
41
  /**
40
- * 登出回程 URL:auth 域**裸根**入口 + `logout=1` 显式登出意图标记。
42
+ * 登出 URL(TASK-LS-08):同源标准端点(RP-Initiated Logout 无 hint 形态)优先,
43
+ * client_id 不可得时保持 legacy 形态。
41
44
  *
42
- * 刻意不复用 buildLoginUrl:其租户 slug 保留会把 auth 域页面的登出落到
43
- * `/<slug>/login`(登录页路由,不经入口路由),`logout=1` 在那里被静默忽略;
45
+ * 标准端点形态(ADR-12 同源直通):`${origin}/oauth/api/v1/oauth/logout`
46
+ * - client_id:本部署的 OAuth 客户端(`resolveClientIdForSession` 三级来源:会话持久化
47
+ * localStorage `oauth_client_id` → env),服务端据此做 post_logout_redirect_uri 注册面白名单校验;
48
+ * - post_logout_redirect_uri:本门户 origin 根(`<origin>/`,注册形态同 PlatformPortalRedirectURIs);
49
+ * - state:returnUrl 的 URL-safe 编码(门户零行为驱动——服务端只原样回拼到回跳 URL,门户不解析)。
50
+ * 浏览器整页导航不带 Bearer → 服务端「无 hint 无会话浏览器」支 302 确认页承接;
51
+ * 用户确认后由确认页经 BFF(会话 cookie → Bearer)触达端点,走认证会话支并导航服务端 location。
52
+ *
53
+ * legacy 兜底(D2=A 兼容分支保留,EntryRouter 承接):client_id 不可得 → auth 域**裸根**入口 +
54
+ * `logout=1` 显式登出意图标记。刻意不复用 buildLoginUrl:其租户 slug 保留会把 auth 域页面的
55
+ * 登出落到 `/<slug>/login`(登录页路由,不经入口路由),`logout=1` 在那里被静默忽略;
44
56
  * 带会话回程甚至会被登录页 checkAndRedirect 直接放行成静默重登(F-W5c)。
45
- * 裸根 = EntryRouter 唯一登出闸门:先终结 auth 域会话,再决定落点——
46
- * 回程能解析出真实租户 → 裸 `/<slug>/login`(不带回程参数:登出即"重新开始",
47
- * 登录后走默认去向,去向选择权交还用户);否则落 brand 裸根。
57
+ * 裸根 = EntryRouter 唯一登出闸门:先终结 auth 域会话,再决定落点——回程能解析出真实租户 →
58
+ * 裸 `/<slug>/login`;否则落 brand 裸根。
48
59
  */
49
60
  export function buildLogoutUrl(returnUrl?: string): string {
50
61
  const base = getPortalUrl('auth');
51
- if (!base) return '/';
52
- const redirect = returnUrl ? `redirect=${encodeURIComponent(returnUrl)}&` : '';
53
- return `${base}/?${redirect}logout=1`;
62
+ // legacy 兜底:现行为保持(auth 裸根 + logout=1 意图标记)
63
+ const legacy = (): string => {
64
+ if (!base) return '/';
65
+ const redirect = returnUrl ? `redirect=${encodeURIComponent(returnUrl)}&` : '';
66
+ return `${base}/?${redirect}logout=1`;
67
+ };
68
+
69
+ const clientId = resolveClientIdForSession();
70
+ if (!clientId || typeof window === 'undefined' || !window.location?.origin) return legacy();
71
+
72
+ const params = new URLSearchParams();
73
+ params.set('client_id', clientId);
74
+ params.set('post_logout_redirect_uri', `${window.location.origin}/`);
75
+ if (returnUrl) params.set('state', returnUrl);
76
+ return `${window.location.origin}/oauth/api/v1/oauth/logout?${params.toString()}`;
54
77
  }
55
78
 
56
79
  /**
package/src/auth/store.ts CHANGED
@@ -201,7 +201,8 @@ export function loginWithTokens(
201
201
  *
202
202
  * redirectTo(U350):显式落点(会话过期→auth /error、注销完成→/<slug>/login?account_deleted=true 等
203
203
  * 旗标页)——清理完成后整页前往。缺省仅清会话、不导航;注意与 useLogout 口径区分:该 hook 走
204
- * buildLogoutUrl 登出意图流(logout=1 交入口路由定落点),不得用于需要保留业务 query 旗标的目标。
204
+ * buildLogoutUrl 登出流(LS-08:同源标准端点;client_id 不可得时退 legacy logout=1 交入口路由),
205
+ * 不得用于需要保留业务 query 旗标的目标。
205
206
  */
206
207
  export async function logout(redirectTo?: string): Promise<void> {
207
208
  const { AuthService } = await import('./service');
@@ -5257,7 +5257,7 @@ export interface ListResponsedto_WebAuthnCredentialResponse {
5257
5257
  total?: number; // 总条数(平铺,便于直接读取)
5258
5258
  }
5259
5259
 
5260
- export interface ListResponsegitee_com_linmes_authms_microservices_identityservice_internal_device_domain_DeviceInfo {
5260
+ export interface ListResponsegitee_com_autional_microservices_identityservice_internal_device_domain_DeviceInfo {
5261
5261
  code?: number;
5262
5262
  items?: DeviceInfo[]; // 统一使用 items
5263
5263
  message?: string;
@@ -6643,7 +6643,7 @@ export interface DataResponsedto_Web3VerifyResponse {
6643
6643
  timestamp?: string;
6644
6644
  }
6645
6645
 
6646
- export interface DataResponsegitee_com_linmes_authms_microservices_identityservice_internal_device_domain_DeviceInfo {
6646
+ export interface DataResponsegitee_com_autional_microservices_identityservice_internal_device_domain_DeviceInfo {
6647
6647
  code?: number;
6648
6648
  data?: DeviceInfo;
6649
6649
  message?: string;
@@ -8274,7 +8274,7 @@ export interface ClientRegistrationResponse {
8274
8274
  policyUri?: string; // 隐私政策URL | @example https://app.example.com/privacy
8275
8275
  redirectUris?: string[]; // 回调URI列表 | @example ['["https://app.example.com/callback"]']
8276
8276
  registrationAccessToken?: string; // 注册管理Token | @example reg_abc123...
8277
- registrationClientUri?: string; // 注册管理URI | @example https://authms.example.com/api/v1/oauth/register/app-123
8277
+ registrationClientUri?: string; // 注册管理URI | @example https://api.example.com/api/v1/oauth/register/app-123
8278
8278
  scope?: string; // 权限范围 | @example openid profile email
8279
8279
  tokenEndpointAuthMethod?: string; // 认证方法 | @example client_secret_basic
8280
8280
  tosUri?: string; // 服务条款URL | @example https://app.example.com/tos
@@ -8510,7 +8510,7 @@ export interface DeviceAuthorizationResponse {
8510
8510
  expiresIn?: number; // @example 600
8511
8511
  interval?: number; // @example 5
8512
8512
  userCode?: string; // @example BDJW-DSXQ
8513
- verificationUri?: string; // @example https://authms.example.com/device
8513
+ verificationUri?: string; // @example https://api.example.com/device
8514
8514
  }
8515
8515
 
8516
8516
  /** 用户在浏览器中授权设备(RFC 8628 §3.3) */
@@ -9783,7 +9783,7 @@ export interface WebhookConfigResponse {
9783
9783
  // rbac-service
9784
9784
  // ============================================================
9785
9785
 
9786
- export interface ListResponsegitee_com_linmes_authms_microservices_rbacservice_internal_handler_dto_ApprovalRequestResponse {
9786
+ export interface ListResponsegitee_com_autional_microservices_rbacservice_internal_handler_dto_ApprovalRequestResponse {
9787
9787
  code?: number;
9788
9788
  items?: ApprovalRequestResponse[]; // 统一使用 items
9789
9789
  message?: string;
@@ -9792,7 +9792,7 @@ export interface ListResponsegitee_com_linmes_authms_microservices_rbacservice_i
9792
9792
  total?: number; // 总条数(平铺,便于直接读取)
9793
9793
  }
9794
9794
 
9795
- export interface ListResponsegitee_com_linmes_authms_microservices_rbacservice_internal_handler_dto_PermissionResponse {
9795
+ export interface ListResponsegitee_com_autional_microservices_rbacservice_internal_handler_dto_PermissionResponse {
9796
9796
  code?: number;
9797
9797
  items?: PermissionResponse[]; // 统一使用 items
9798
9798
  message?: string;
@@ -9801,7 +9801,7 @@ export interface ListResponsegitee_com_linmes_authms_microservices_rbacservice_i
9801
9801
  total?: number; // 总条数(平铺,便于直接读取)
9802
9802
  }
9803
9803
 
9804
- export interface ListResponsegitee_com_linmes_authms_microservices_rbacservice_internal_handler_dto_RoleResponse {
9804
+ export interface ListResponsegitee_com_autional_microservices_rbacservice_internal_handler_dto_RoleResponse {
9805
9805
  code?: number;
9806
9806
  items?: RoleResponse[]; // 统一使用 items
9807
9807
  message?: string;
@@ -9810,119 +9810,119 @@ export interface ListResponsegitee_com_linmes_authms_microservices_rbacservice_i
9810
9810
  total?: number; // 总条数(平铺,便于直接读取)
9811
9811
  }
9812
9812
 
9813
- export interface DataResponsearray_gitee_com_linmes_authms_microservices_rbacservice_internal_handler_dto_ConflictPairResponse {
9813
+ export interface DataResponsearray_gitee_com_autional_microservices_rbacservice_internal_handler_dto_ConflictPairResponse {
9814
9814
  code?: number;
9815
9815
  data?: ConflictPairResponse[];
9816
9816
  message?: string;
9817
9817
  timestamp?: string;
9818
9818
  }
9819
9819
 
9820
- export interface DataResponsearray_gitee_com_linmes_authms_microservices_rbacservice_internal_handler_dto_DefaultRoleResponse {
9820
+ export interface DataResponsearray_gitee_com_autional_microservices_rbacservice_internal_handler_dto_DefaultRoleResponse {
9821
9821
  code?: number;
9822
9822
  data?: DefaultRoleResponse[];
9823
9823
  message?: string;
9824
9824
  timestamp?: string;
9825
9825
  }
9826
9826
 
9827
- export interface DataResponsearray_gitee_com_linmes_authms_microservices_rbacservice_internal_handler_dto_PermissionResponse {
9827
+ export interface DataResponsearray_gitee_com_autional_microservices_rbacservice_internal_handler_dto_PermissionResponse {
9828
9828
  code?: number;
9829
9829
  data?: PermissionResponse[];
9830
9830
  message?: string;
9831
9831
  timestamp?: string;
9832
9832
  }
9833
9833
 
9834
- export interface DataResponsearray_gitee_com_linmes_authms_microservices_rbacservice_internal_handler_dto_RebacRelationshipDTO {
9834
+ export interface DataResponsearray_gitee_com_autional_microservices_rbacservice_internal_handler_dto_RebacRelationshipDTO {
9835
9835
  code?: number;
9836
9836
  data?: RebacRelationshipDTO[];
9837
9837
  message?: string;
9838
9838
  timestamp?: string;
9839
9839
  }
9840
9840
 
9841
- export interface DataResponsearray_gitee_com_linmes_authms_microservices_rbacservice_internal_handler_dto_RoleResponse {
9841
+ export interface DataResponsearray_gitee_com_autional_microservices_rbacservice_internal_handler_dto_RoleResponse {
9842
9842
  code?: number;
9843
9843
  data?: RoleResponse[];
9844
9844
  message?: string;
9845
9845
  timestamp?: string;
9846
9846
  }
9847
9847
 
9848
- export interface DataResponsegitee_com_linmes_authms_microservices_rbacservice_internal_handler_dto_ApprovalRequestResponse {
9848
+ export interface DataResponsegitee_com_autional_microservices_rbacservice_internal_handler_dto_ApprovalRequestResponse {
9849
9849
  code?: number;
9850
9850
  data?: ApprovalRequestResponse;
9851
9851
  message?: string;
9852
9852
  timestamp?: string;
9853
9853
  }
9854
9854
 
9855
- export interface DataResponsegitee_com_linmes_authms_microservices_rbacservice_internal_handler_dto_BootstrapAdminResponse {
9855
+ export interface DataResponsegitee_com_autional_microservices_rbacservice_internal_handler_dto_BootstrapAdminResponse {
9856
9856
  code?: number;
9857
9857
  data?: BootstrapAdminResponse;
9858
9858
  message?: string;
9859
9859
  timestamp?: string;
9860
9860
  }
9861
9861
 
9862
- export interface DataResponsegitee_com_linmes_authms_microservices_rbacservice_internal_handler_dto_ConflictPairResponse {
9862
+ export interface DataResponsegitee_com_autional_microservices_rbacservice_internal_handler_dto_ConflictPairResponse {
9863
9863
  code?: number;
9864
9864
  data?: ConflictPairResponse;
9865
9865
  message?: string;
9866
9866
  timestamp?: string;
9867
9867
  }
9868
9868
 
9869
- export interface DataResponsegitee_com_linmes_authms_microservices_rbacservice_internal_handler_dto_PermissionCheckDetailResponse {
9869
+ export interface DataResponsegitee_com_autional_microservices_rbacservice_internal_handler_dto_PermissionCheckDetailResponse {
9870
9870
  code?: number;
9871
9871
  data?: PermissionCheckDetailResponse;
9872
9872
  message?: string;
9873
9873
  timestamp?: string;
9874
9874
  }
9875
9875
 
9876
- export interface DataResponsegitee_com_linmes_authms_microservices_rbacservice_internal_handler_dto_PermissionCheckResponse {
9876
+ export interface DataResponsegitee_com_autional_microservices_rbacservice_internal_handler_dto_PermissionCheckResponse {
9877
9877
  code?: number;
9878
9878
  data?: PermissionCheckResponse;
9879
9879
  message?: string;
9880
9880
  timestamp?: string;
9881
9881
  }
9882
9882
 
9883
- export interface DataResponsegitee_com_linmes_authms_microservices_rbacservice_internal_handler_dto_PermissionResponse {
9883
+ export interface DataResponsegitee_com_autional_microservices_rbacservice_internal_handler_dto_PermissionResponse {
9884
9884
  code?: number;
9885
9885
  data?: PermissionResponse;
9886
9886
  message?: string;
9887
9887
  timestamp?: string;
9888
9888
  }
9889
9889
 
9890
- export interface DataResponsegitee_com_linmes_authms_microservices_rbacservice_internal_handler_dto_RebacDeleteResult {
9890
+ export interface DataResponsegitee_com_autional_microservices_rbacservice_internal_handler_dto_RebacDeleteResult {
9891
9891
  code?: number;
9892
9892
  data?: RebacDeleteResult;
9893
9893
  message?: string;
9894
9894
  timestamp?: string;
9895
9895
  }
9896
9896
 
9897
- export interface DataResponsegitee_com_linmes_authms_microservices_rbacservice_internal_handler_dto_RebacRelationshipDTO {
9897
+ export interface DataResponsegitee_com_autional_microservices_rbacservice_internal_handler_dto_RebacRelationshipDTO {
9898
9898
  code?: number;
9899
9899
  data?: RebacRelationshipDTO;
9900
9900
  message?: string;
9901
9901
  timestamp?: string;
9902
9902
  }
9903
9903
 
9904
- export interface DataResponsegitee_com_linmes_authms_microservices_rbacservice_internal_handler_dto_RoleCheckResponse {
9904
+ export interface DataResponsegitee_com_autional_microservices_rbacservice_internal_handler_dto_RoleCheckResponse {
9905
9905
  code?: number;
9906
9906
  data?: RoleCheckResponse;
9907
9907
  message?: string;
9908
9908
  timestamp?: string;
9909
9909
  }
9910
9910
 
9911
- export interface DataResponsegitee_com_linmes_authms_microservices_rbacservice_internal_handler_dto_RoleResponse {
9911
+ export interface DataResponsegitee_com_autional_microservices_rbacservice_internal_handler_dto_RoleResponse {
9912
9912
  code?: number;
9913
9913
  data?: RoleResponse;
9914
9914
  message?: string;
9915
9915
  timestamp?: string;
9916
9916
  }
9917
9917
 
9918
- export interface DataResponsegitee_com_linmes_authms_microservices_rbacservice_internal_handler_dto_UserIDsResponse {
9918
+ export interface DataResponsegitee_com_autional_microservices_rbacservice_internal_handler_dto_UserIDsResponse {
9919
9919
  code?: number;
9920
9920
  data?: UserIDsResponse;
9921
9921
  message?: string;
9922
9922
  timestamp?: string;
9923
9923
  }
9924
9924
 
9925
- export interface DataResponsegitee_com_linmes_authms_microservices_rbacservice_internal_handler_dto_ValidateUserRolesResponse {
9925
+ export interface DataResponsegitee_com_autional_microservices_rbacservice_internal_handler_dto_ValidateUserRolesResponse {
9926
9926
  code?: number;
9927
9927
  data?: ValidateUserRolesResponse;
9928
9928
  message?: string;
@@ -10152,7 +10152,7 @@ export type Effect = "allow" | "deny";
10152
10152
  // saml-service
10153
10153
  // ============================================================
10154
10154
 
10155
- export interface ListResponsegitee_com_linmes_authms_microservices_samlservice_internal_handler_dto_SamlSessionItem {
10155
+ export interface ListResponsegitee_com_autional_microservices_samlservice_internal_handler_dto_SamlSessionItem {
10156
10156
  code?: number;
10157
10157
  items?: SamlSessionItem[]; // 统一使用 items
10158
10158
  message?: string;
@@ -10161,7 +10161,7 @@ export interface ListResponsegitee_com_linmes_authms_microservices_samlservice_i
10161
10161
  total?: number; // 总条数(平铺,便于直接读取)
10162
10162
  }
10163
10163
 
10164
- export interface ListResponsegitee_com_linmes_authms_microservices_samlservice_internal_handler_dto_SamlUserLinkItem {
10164
+ export interface ListResponsegitee_com_autional_microservices_samlservice_internal_handler_dto_SamlUserLinkItem {
10165
10165
  code?: number;
10166
10166
  items?: SamlUserLinkItem[]; // 统一使用 items
10167
10167
  message?: string;
@@ -10295,91 +10295,91 @@ export interface SamlUserLinkItem {
10295
10295
  // secret-service
10296
10296
  // ============================================================
10297
10297
 
10298
- export interface DataResponsearray_gitee_com_linmes_authms_microservices_secretservice_internal_handler_dto_SecretVersionResponse {
10298
+ export interface DataResponsearray_gitee_com_autional_microservices_secretservice_internal_handler_dto_SecretVersionResponse {
10299
10299
  code?: number;
10300
10300
  data?: SecretVersionResponse[];
10301
10301
  message?: string;
10302
10302
  timestamp?: string;
10303
10303
  }
10304
10304
 
10305
- export interface DataResponsegitee_com_linmes_authms_microservices_secretservice_internal_handler_dto_BatchGetResponse {
10305
+ export interface DataResponsegitee_com_autional_microservices_secretservice_internal_handler_dto_BatchGetResponse {
10306
10306
  code?: number;
10307
10307
  data?: BatchGetResponse;
10308
10308
  message?: string;
10309
10309
  timestamp?: string;
10310
10310
  }
10311
10311
 
10312
- export interface DataResponsegitee_com_linmes_authms_microservices_secretservice_internal_handler_dto_BatchResult {
10312
+ export interface DataResponsegitee_com_autional_microservices_secretservice_internal_handler_dto_BatchResult {
10313
10313
  code?: number;
10314
10314
  data?: BatchResult;
10315
10315
  message?: string;
10316
10316
  timestamp?: string;
10317
10317
  }
10318
10318
 
10319
- export interface DataResponsegitee_com_linmes_authms_microservices_secretservice_internal_handler_dto_EncryptionKeysDetailResponse {
10319
+ export interface DataResponsegitee_com_autional_microservices_secretservice_internal_handler_dto_EncryptionKeysDetailResponse {
10320
10320
  code?: number;
10321
10321
  data?: EncryptionKeysDetailResponse;
10322
10322
  message?: string;
10323
10323
  timestamp?: string;
10324
10324
  }
10325
10325
 
10326
- export interface DataResponsegitee_com_linmes_authms_microservices_secretservice_internal_handler_dto_JWTKeyResponse {
10326
+ export interface DataResponsegitee_com_autional_microservices_secretservice_internal_handler_dto_JWTKeyResponse {
10327
10327
  code?: number;
10328
10328
  data?: JWTKeyResponse;
10329
10329
  message?: string;
10330
10330
  timestamp?: string;
10331
10331
  }
10332
10332
 
10333
- export interface DataResponsegitee_com_linmes_authms_microservices_secretservice_internal_handler_dto_JWTKeysListResponse {
10333
+ export interface DataResponsegitee_com_autional_microservices_secretservice_internal_handler_dto_JWTKeysListResponse {
10334
10334
  code?: number;
10335
10335
  data?: JWTKeysListResponse;
10336
10336
  message?: string;
10337
10337
  timestamp?: string;
10338
10338
  }
10339
10339
 
10340
- export interface DataResponsegitee_com_linmes_authms_microservices_secretservice_internal_handler_dto_JWTPublicKeyResponse {
10340
+ export interface DataResponsegitee_com_autional_microservices_secretservice_internal_handler_dto_JWTPublicKeyResponse {
10341
10341
  code?: number;
10342
10342
  data?: JWTPublicKeyResponse;
10343
10343
  message?: string;
10344
10344
  timestamp?: string;
10345
10345
  }
10346
10346
 
10347
- export interface DataResponsegitee_com_linmes_authms_microservices_secretservice_internal_handler_dto_SecretDetailResponse {
10347
+ export interface DataResponsegitee_com_autional_microservices_secretservice_internal_handler_dto_SecretDetailResponse {
10348
10348
  code?: number;
10349
10349
  data?: SecretDetailResponse;
10350
10350
  message?: string;
10351
10351
  timestamp?: string;
10352
10352
  }
10353
10353
 
10354
- export interface DataResponsegitee_com_linmes_authms_microservices_secretservice_internal_handler_dto_SecretPolicyResponse {
10354
+ export interface DataResponsegitee_com_autional_microservices_secretservice_internal_handler_dto_SecretPolicyResponse {
10355
10355
  code?: number;
10356
10356
  data?: SecretPolicyResponse;
10357
10357
  message?: string;
10358
10358
  timestamp?: string;
10359
10359
  }
10360
10360
 
10361
- export interface DataResponsegitee_com_linmes_authms_microservices_secretservice_internal_handler_dto_SecretResponse {
10361
+ export interface DataResponsegitee_com_autional_microservices_secretservice_internal_handler_dto_SecretResponse {
10362
10362
  code?: number;
10363
10363
  data?: SecretResponse;
10364
10364
  message?: string;
10365
10365
  timestamp?: string;
10366
10366
  }
10367
10367
 
10368
- export interface DataResponsegitee_com_linmes_authms_microservices_secretservice_internal_handler_dto_SecretValueResponse {
10368
+ export interface DataResponsegitee_com_autional_microservices_secretservice_internal_handler_dto_SecretValueResponse {
10369
10369
  code?: number;
10370
10370
  data?: SecretValueResponse;
10371
10371
  message?: string;
10372
10372
  timestamp?: string;
10373
10373
  }
10374
10374
 
10375
- export interface DataResponsegitee_com_linmes_authms_microservices_secretservice_internal_handler_dto_TransmissionDecryptResponse {
10375
+ export interface DataResponsegitee_com_autional_microservices_secretservice_internal_handler_dto_TransmissionDecryptResponse {
10376
10376
  code?: number;
10377
10377
  data?: TransmissionDecryptResponse;
10378
10378
  message?: string;
10379
10379
  timestamp?: string;
10380
10380
  }
10381
10381
 
10382
- export interface ListResponsegitee_com_linmes_authms_microservices_secretservice_internal_handler_dto_SecretResponse {
10382
+ export interface ListResponsegitee_com_autional_microservices_secretservice_internal_handler_dto_SecretResponse {
10383
10383
  code?: number;
10384
10384
  items?: SecretResponse[]; // 统一使用 items
10385
10385
  message?: string;
@@ -12976,14 +12976,14 @@ export interface DataResponsecaptcha_Challenge {
12976
12976
  timestamp?: string;
12977
12977
  }
12978
12978
 
12979
- export interface DataResponsegitee_com_linmes_authms_microservices_thirdpartyservice_internal_dto_CaptchaVerifyResponse {
12979
+ export interface DataResponsegitee_com_autional_microservices_thirdpartyservice_internal_dto_CaptchaVerifyResponse {
12980
12980
  code?: number;
12981
12981
  data?: CaptchaVerifyResponse;
12982
12982
  message?: string;
12983
12983
  timestamp?: string;
12984
12984
  }
12985
12985
 
12986
- export interface DataResponsegitee_com_linmes_authms_microservices_thirdpartyservice_internal_dto_ExportUserDataResponse {
12986
+ export interface DataResponsegitee_com_autional_microservices_thirdpartyservice_internal_dto_ExportUserDataResponse {
12987
12987
  code?: number;
12988
12988
  data?: ExportUserDataResponse;
12989
12989
  message?: string;
@@ -13010,70 +13010,70 @@ export interface CaptchaVerifyResponse {
13010
13010
  // verification-service
13011
13011
  // ============================================================
13012
13012
 
13013
- export interface DataResponsegitee_com_linmes_authms_microservices_verificationservice_internal_handler_dto_AdminVerificationDetail {
13013
+ export interface DataResponsegitee_com_autional_microservices_verificationservice_internal_handler_dto_AdminVerificationDetail {
13014
13014
  code?: number;
13015
13015
  data?: AdminVerificationDetail;
13016
13016
  message?: string;
13017
13017
  timestamp?: string;
13018
13018
  }
13019
13019
 
13020
- export interface DataResponsegitee_com_linmes_authms_microservices_verificationservice_internal_handler_dto_BeginLivenessResponse {
13020
+ export interface DataResponsegitee_com_autional_microservices_verificationservice_internal_handler_dto_BeginLivenessResponse {
13021
13021
  code?: number;
13022
13022
  data?: BeginLivenessResponse;
13023
13023
  message?: string;
13024
13024
  timestamp?: string;
13025
13025
  }
13026
13026
 
13027
- export interface DataResponsegitee_com_linmes_authms_microservices_verificationservice_internal_handler_dto_GuardianRelationshipResponse {
13027
+ export interface DataResponsegitee_com_autional_microservices_verificationservice_internal_handler_dto_GuardianRelationshipResponse {
13028
13028
  code?: number;
13029
13029
  data?: GuardianRelationshipResponse;
13030
13030
  message?: string;
13031
13031
  timestamp?: string;
13032
13032
  }
13033
13033
 
13034
- export interface DataResponsegitee_com_linmes_authms_microservices_verificationservice_internal_handler_dto_LivenessResultResponse {
13034
+ export interface DataResponsegitee_com_autional_microservices_verificationservice_internal_handler_dto_LivenessResultResponse {
13035
13035
  code?: number;
13036
13036
  data?: LivenessResultResponse;
13037
13037
  message?: string;
13038
13038
  timestamp?: string;
13039
13039
  }
13040
13040
 
13041
- export interface DataResponsegitee_com_linmes_authms_microservices_verificationservice_internal_handler_dto_ProviderConfigResponse {
13041
+ export interface DataResponsegitee_com_autional_microservices_verificationservice_internal_handler_dto_ProviderConfigResponse {
13042
13042
  code?: number;
13043
13043
  data?: ProviderConfigResponse;
13044
13044
  message?: string;
13045
13045
  timestamp?: string;
13046
13046
  }
13047
13047
 
13048
- export interface DataResponsegitee_com_linmes_authms_microservices_verificationservice_internal_handler_dto_StatsResponse {
13048
+ export interface DataResponsegitee_com_autional_microservices_verificationservice_internal_handler_dto_StatsResponse {
13049
13049
  code?: number;
13050
13050
  data?: StatsResponse;
13051
13051
  message?: string;
13052
13052
  timestamp?: string;
13053
13053
  }
13054
13054
 
13055
- export interface DataResponsegitee_com_linmes_authms_microservices_verificationservice_internal_handler_dto_SubmitOCRResponse {
13055
+ export interface DataResponsegitee_com_autional_microservices_verificationservice_internal_handler_dto_SubmitOCRResponse {
13056
13056
  code?: number;
13057
13057
  data?: SubmitOCRResponse;
13058
13058
  message?: string;
13059
13059
  timestamp?: string;
13060
13060
  }
13061
13061
 
13062
- export interface DataResponsegitee_com_linmes_authms_microservices_verificationservice_internal_handler_dto_VerificationDetailResponse {
13062
+ export interface DataResponsegitee_com_autional_microservices_verificationservice_internal_handler_dto_VerificationDetailResponse {
13063
13063
  code?: number;
13064
13064
  data?: VerificationDetailResponse;
13065
13065
  message?: string;
13066
13066
  timestamp?: string;
13067
13067
  }
13068
13068
 
13069
- export interface DataResponsegitee_com_linmes_authms_microservices_verificationservice_internal_handler_dto_VerificationStatusResponse {
13069
+ export interface DataResponsegitee_com_autional_microservices_verificationservice_internal_handler_dto_VerificationStatusResponse {
13070
13070
  code?: number;
13071
13071
  data?: VerificationStatusResponse;
13072
13072
  message?: string;
13073
13073
  timestamp?: string;
13074
13074
  }
13075
13075
 
13076
- export interface ListResponsegitee_com_linmes_authms_microservices_verificationservice_internal_handler_dto_GuardianRelationshipResponse {
13076
+ export interface ListResponsegitee_com_autional_microservices_verificationservice_internal_handler_dto_GuardianRelationshipResponse {
13077
13077
  code?: number;
13078
13078
  items?: GuardianRelationshipResponse[]; // 统一使用 items
13079
13079
  message?: string;
@@ -13082,7 +13082,7 @@ export interface ListResponsegitee_com_linmes_authms_microservices_verifications
13082
13082
  total?: number; // 总条数(平铺,便于直接读取)
13083
13083
  }
13084
13084
 
13085
- export interface ListResponsegitee_com_linmes_authms_microservices_verificationservice_internal_handler_dto_MinorProfileResponse {
13085
+ export interface ListResponsegitee_com_autional_microservices_verificationservice_internal_handler_dto_MinorProfileResponse {
13086
13086
  code?: number;
13087
13087
  items?: MinorProfileResponse[]; // 统一使用 items
13088
13088
  message?: string;
@@ -13091,7 +13091,7 @@ export interface ListResponsegitee_com_linmes_authms_microservices_verifications
13091
13091
  total?: number; // 总条数(平铺,便于直接读取)
13092
13092
  }
13093
13093
 
13094
- export interface ListResponsegitee_com_linmes_authms_microservices_verificationservice_internal_handler_dto_ProviderConfigResponse {
13094
+ export interface ListResponsegitee_com_autional_microservices_verificationservice_internal_handler_dto_ProviderConfigResponse {
13095
13095
  code?: number;
13096
13096
  items?: ProviderConfigResponse[]; // 统一使用 items
13097
13097
  message?: string;
@@ -13100,7 +13100,7 @@ export interface ListResponsegitee_com_linmes_authms_microservices_verifications
13100
13100
  total?: number; // 总条数(平铺,便于直接读取)
13101
13101
  }
13102
13102
 
13103
- export interface ListResponsegitee_com_linmes_authms_microservices_verificationservice_internal_handler_dto_VerificationListItem {
13103
+ export interface ListResponsegitee_com_autional_microservices_verificationservice_internal_handler_dto_VerificationListItem {
13104
13104
  code?: number;
13105
13105
  items?: VerificationListItem[]; // 统一使用 items
13106
13106
  message?: string;