@authing/react-ui-components 3.1.27 → 3.1.29-alpha.0

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/lib/index.d.ts CHANGED
@@ -1167,13 +1167,23 @@ declare module '@authing/react-ui-components/components/ChangeLanguage/index' {
1167
1167
  declare module '@authing/react-ui-components/components/ChangePassword/businessRequest' {
1168
1168
  export enum ChangePasswordBusinessAction {
1169
1169
  ResetPassword = "reset-password-first-time",
1170
- FirstLoginReset = "reset-password-forced"
1170
+ FirstLoginReset = "reset-password-forced",
1171
+ ResetPasswordStrengthDetection = "reset-password-strength-detection"
1171
1172
  }
1172
1173
  export const authFlow: (action: ChangePasswordBusinessAction, content: {
1173
1174
  password: string;
1174
1175
  oldPassword?: string;
1175
1176
  }) => Promise<import("@authing/react-ui-components/components/_utils/http").AuthingGuardResponse<any>>;
1176
1177
 
1178
+ }
1179
+ declare module '@authing/react-ui-components/components/ChangePassword/core/PasswordNotSafeReset' {
1180
+ import React from 'react';
1181
+ interface PasswordNotSafeResetProps {
1182
+ onReset: any;
1183
+ }
1184
+ export const PasswordNotSafeReset: React.FC<PasswordNotSafeResetProps>;
1185
+ export {};
1186
+
1177
1187
  }
1178
1188
  declare module '@authing/react-ui-components/components/ChangePassword/core/completePassword' {
1179
1189
  import React from 'react';
@@ -1206,6 +1216,7 @@ declare module '@authing/react-ui-components/components/ChangePassword/index' {
1206
1216
  explain: string;
1207
1217
  }>;
1208
1218
  export const GuardFirstLoginPasswordResetView: React.FC;
1219
+ export const GuardPasswordNotSafeResetView: React.FC;
1209
1220
  export const GuardForcedPasswordResetView: React.FC;
1210
1221
  export const GuardNoticePasswordResetView: React.FC;
1211
1222
  export const GuardRegisterCompletePasswordView: React.FC;
@@ -1563,6 +1574,293 @@ declare module '@authing/react-ui-components/components/Guard/config' {
1563
1574
  }
1564
1575
  export const getDefaultGuardLocalConfig: () => GuardLocalConfig;
1565
1576
 
1577
+ }
1578
+ declare module '@authing/react-ui-components/components/Guard/core/hooks/useMultipleAccounts' {
1579
+ import { SelectOptions } from '@authing/react-ui-components/components/Login/multipleAccounts/panel';
1580
+ export const QR_CODE_WAY: LoginWay[];
1581
+ /**
1582
+ * 登录时所有支持的登录列表(前端定义列表)
1583
+ */
1584
+ export type LoginWay = 'email' | 'phone' | 'password' | 'phone-code' | 'email-code' | 'social' | 'wechat-miniprogram-qrcode' | 'wechatmp-qrcode' | 'app-qrcode' | 'ad' | 'ldap';
1585
+ /**
1586
+ * when: 多账号页面跳转进入登录页面
1587
+ * 携带的回填数据信息
1588
+ */
1589
+ export interface BackFillMultipleState extends Omit<User, 'id' | 'name' | 'nickname' | 'username' | 'phone' | 'email' | 'photo' | '_updateTime'> {
1590
+ /**
1591
+ * 回填的账号名称 邮箱/用户名/手机
1592
+ */
1593
+ account: string;
1594
+ }
1595
+ /**
1596
+ * Store instance
1597
+ */
1598
+ export type StoreInstance = ReturnType<MultipleAccount['getStore']>;
1599
+ /**
1600
+ * 当前 userId 对应的类型
1601
+ */
1602
+ export interface CurrentStore {
1603
+ [id: string]: User;
1604
+ }
1605
+ export interface User {
1606
+ /**
1607
+ * userId
1608
+ */
1609
+ id: string;
1610
+ /**
1611
+ * Tab 栏状态
1612
+ */
1613
+ tab: 'input' | 'qrcode';
1614
+ /**
1615
+ * 登录方式
1616
+ */
1617
+ way: LoginWay;
1618
+ /**
1619
+ * 姓名
1620
+ */
1621
+ name?: string | null;
1622
+ /**
1623
+ * 昵称
1624
+ */
1625
+ nickname?: string | null;
1626
+ /**
1627
+ * 用户名
1628
+ */
1629
+ username?: string | null;
1630
+ /**
1631
+ * 手机号
1632
+ */
1633
+ phone?: string | null;
1634
+ /**
1635
+ * 邮箱
1636
+ */
1637
+ email?: string | null;
1638
+ /**
1639
+ * 头像
1640
+ */
1641
+ photo?: string | null;
1642
+ /**
1643
+ * qrCodeId 对应的ID
1644
+ */
1645
+ qrCodeId?: string;
1646
+ /**
1647
+ * 国际化短信区号
1648
+ */
1649
+ phoneCountryCode?: string;
1650
+ /**
1651
+ * 国际化短信选择框回填
1652
+ */
1653
+ areaCode?: string;
1654
+ /**
1655
+ * 登录时间
1656
+ */
1657
+ _updateTime?: string;
1658
+ }
1659
+ class MultipleAccount {
1660
+ /**
1661
+ * 原始的 localStore 值
1662
+ */
1663
+ private originStore;
1664
+ /**
1665
+ * 当前 AppId Store
1666
+ */
1667
+ private currentStore;
1668
+ /**
1669
+ * 单账号直接回填
1670
+ */
1671
+ private firstBackFillData?;
1672
+ /**
1673
+ * server 返回支持的登录方式
1674
+ */
1675
+ private serverSideLoginMethods;
1676
+ /**
1677
+ * 是否显示多账号登录页面
1678
+ * true 存在
1679
+ */
1680
+ private memberState;
1681
+ /**
1682
+ * 二维码登录时的ID
1683
+ */
1684
+ private qrCodeId?;
1685
+ /**
1686
+ * 国际化短信前缀 区号
1687
+ */
1688
+ private phoneCountryCode?;
1689
+ /**
1690
+ * 国际化短信前缀 选中地区编号
1691
+ */
1692
+ private areaCode?;
1693
+ private tabStatus?;
1694
+ /**
1695
+ * 当前登录二级状态
1696
+ */
1697
+ private loginWay?;
1698
+ private appId;
1699
+ /**
1700
+ * 是否开启国际化短信
1701
+ */
1702
+ private isInternationSms?;
1703
+ constructor();
1704
+ /**
1705
+ * 页面首次加载时初始化 Store
1706
+ * 从 LocalStore 中拿值 放到这里来
1707
+ */
1708
+ private initStore;
1709
+ /**
1710
+ * 初始化记住账号相关信息
1711
+ * @param normalCount
1712
+ * @returns
1713
+ */
1714
+ private initMemberState;
1715
+ /**
1716
+ * 获取当前ID下有效账号个数
1717
+ * @returns qrCount 有效的二维码登录个数 normalCount 有效的账号登录方式
1718
+ */
1719
+ private memberStateCount;
1720
+ /**
1721
+ * 初始化第一次的数据 TODO: 逻辑有点脏 待整理
1722
+ */
1723
+ private initBackfillData;
1724
+ /**
1725
+ * 根据前端存储的登录方式返回后端映射方式
1726
+ * @param front
1727
+ */
1728
+ private getServerLoginMethodByFront;
1729
+ /**
1730
+ * 当前 Store DONE
1731
+ */
1732
+ private getCurrentStore;
1733
+ /**
1734
+ * 国际化短信过滤
1735
+ * true 表示通过 需要保留
1736
+ * false 表示不通过 需要过滤
1737
+ */
1738
+ private validateInternationSms;
1739
+ /**
1740
+ * 校验有效的登录方式账号
1741
+ * @param user
1742
+ * @param serverSideLoginMethods
1743
+ * @returns
1744
+ */
1745
+ private validateMethod;
1746
+ /**
1747
+ *
1748
+ * @param tab 一级Tab状态
1749
+ * @param way 二级Tab状态
1750
+ * @param id 二维码登录时 记录对应的二维码 ID
1751
+ */
1752
+ private setLoginWay;
1753
+ /**
1754
+ * 设置/更新 store 内的用户信息
1755
+ */
1756
+ private setUserInfo;
1757
+ /**
1758
+ * 持久化保存
1759
+ */
1760
+ private saveStore;
1761
+ /**
1762
+ * 根据登录的 account 判断本次登录的方式
1763
+ * @param account 登录输入的账号
1764
+ * @param param1 登录成功返回的相关信息 用户名/手机号/邮箱
1765
+ * @returns
1766
+ */
1767
+ private setLoginWayByHttpData;
1768
+ /**
1769
+ * 根据用户 ID 删除 localStorage 中当前用户 ID
1770
+ */
1771
+ private delUserById;
1772
+ /**
1773
+ * 获得多账号登录页面的所有用户列表
1774
+ * @param excludeWays
1775
+ */
1776
+ private getMemoUser;
1777
+ /**
1778
+ * 根据 id 获得当前已登录的用户信息
1779
+ * @param userId
1780
+ * @returns User / undefined
1781
+ */
1782
+ private getMemoSingleUser;
1783
+ /**
1784
+ * 该方法仅仅需要回填账号的登录方式,其他都不计入
1785
+ * 当用户名/手机号/邮箱/AD/LDAP 相同时,根据登录顺序匹配不同的账号
1786
+ * 根据记住的用户登录方式获取对应的登录账户名
1787
+ * @param way
1788
+ * @param user
1789
+ * @returns
1790
+ */
1791
+ private getAccountByWay;
1792
+ private _mappingUser;
1793
+ /**
1794
+ * 外部暴露方法
1795
+ */
1796
+ getStore: () => {
1797
+ initStore: (appId: string, options: {
1798
+ serverSideLoginMethods: LoginWay[];
1799
+ isInternationSms: boolean;
1800
+ }) => void;
1801
+ setLoginWay: (tab: 'input' | 'qrcode', way: LoginWay, id?: string | undefined, internation?: {
1802
+ phoneCountryCode: string;
1803
+ areaCode: string;
1804
+ } | undefined) => void;
1805
+ setUserInfo: (user: Pick<User & {
1806
+ id: string;
1807
+ }, "email" | "username" | "phone" | "id" | "nickname" | "photo" | "name" | "_updateTime" | "qrCodeId" | "areaCode">) => void;
1808
+ setLoginWayByHttpData: (account: string, data: {
1809
+ username?: string | undefined;
1810
+ phone?: string | undefined;
1811
+ email?: string | undefined;
1812
+ }) => void;
1813
+ getMemoUser: (excludeWays?: LoginWay[]) => SelectOptions[];
1814
+ getMemoSingleUser: (id: string) => {
1815
+ way: LoginWay;
1816
+ account: string;
1817
+ } | undefined;
1818
+ delUserById: (id: string) => void;
1819
+ getMemberState: () => boolean;
1820
+ getFirstBackFillData: () => BackFillMultipleState | undefined;
1821
+ };
1822
+ }
1823
+ /**
1824
+ * MultipleAccounts 相关 Hook
1825
+ * Finally Config 类型过滤
1826
+ */
1827
+ const useMultipleAccounts: ({ appId, finallyConfig }: {
1828
+ appId?: string | undefined;
1829
+ finallyConfig?: any;
1830
+ }) => {
1831
+ instance: {
1832
+ initStore: (appId: string, options: {
1833
+ serverSideLoginMethods: LoginWay[];
1834
+ isInternationSms: boolean;
1835
+ }) => void;
1836
+ setLoginWay: (tab: 'input' | 'qrcode', way: LoginWay, id?: string | undefined, internation?: {
1837
+ phoneCountryCode: string;
1838
+ areaCode: string;
1839
+ } | undefined) => void;
1840
+ setUserInfo: (user: Pick<User & {
1841
+ id: string;
1842
+ }, "email" | "username" | "phone" | "id" | "nickname" | "photo" | "name" | "_updateTime" | "qrCodeId" | "areaCode">) => void;
1843
+ setLoginWayByHttpData: (account: string, data: {
1844
+ username?: string | undefined;
1845
+ phone?: string | undefined;
1846
+ email?: string | undefined;
1847
+ }) => void;
1848
+ getMemoUser: (excludeWays?: LoginWay[]) => SelectOptions[];
1849
+ getMemoSingleUser: (id: string) => {
1850
+ way: LoginWay;
1851
+ account: string;
1852
+ } | undefined;
1853
+ delUserById: (id: string) => void;
1854
+ getMemberState: () => boolean;
1855
+ getFirstBackFillData: () => BackFillMultipleState | undefined;
1856
+ } | undefined;
1857
+ isMultipleAccount: boolean;
1858
+ referMultipleState: (type: 'login' | 'multiple', data?: BackFillMultipleState | undefined) => void;
1859
+ multipleAccountData: BackFillMultipleState | undefined;
1860
+ clearBackFillData: () => void;
1861
+ };
1862
+ export default useMultipleAccounts;
1863
+
1566
1864
  }
1567
1865
  declare module '@authing/react-ui-components/components/Guard/core/index' {
1568
1866
  /// <reference types="react" />
@@ -1622,7 +1920,32 @@ declare module '@authing/react-ui-components/components/Guard/event' {
1622
1920
  export interface GuardEvents extends LoginEvents, RegisterEvents, CompleteInfoEvents, ForgetPasswordEvents, IdentityBindingEvents, IdentityBindingAskEvents {
1623
1921
  onBeforeChangeModule?: (key: GuardModuleType, initData?: any) => boolean | Promise<boolean>;
1624
1922
  }
1625
- export const guardEventsFilter: (props: any, openEventsMapping?: boolean | undefined) => GuardEvents;
1923
+ export const guardEventsFilter: (props: any, multipleInstance?: {
1924
+ initStore: (appId: string, options: {
1925
+ serverSideLoginMethods: import("@authing/react-ui-components/components/Guard/core/hooks/useMultipleAccounts").LoginWay[];
1926
+ isInternationSms: boolean;
1927
+ }) => void;
1928
+ setLoginWay: (tab: "input" | "qrcode", way: import("@authing/react-ui-components/components/Guard/core/hooks/useMultipleAccounts").LoginWay, id?: string | undefined, internation?: {
1929
+ phoneCountryCode: string;
1930
+ areaCode: string;
1931
+ } | undefined) => void;
1932
+ setUserInfo: (user: Pick<import("@authing/react-ui-components/components/Guard/core/hooks/useMultipleAccounts").User & {
1933
+ id: string;
1934
+ }, "email" | "username" | "phone" | "id" | "nickname" | "photo" | "name" | "_updateTime" | "qrCodeId" | "areaCode">) => void;
1935
+ setLoginWayByHttpData: (account: string, data: {
1936
+ username?: string | undefined;
1937
+ phone?: string | undefined;
1938
+ email?: string | undefined;
1939
+ }) => void;
1940
+ getMemoUser: (excludeWays?: import("@authing/react-ui-components/components/Guard/core/hooks/useMultipleAccounts").LoginWay[]) => import("../Login/multipleAccounts/panel").SelectOptions[];
1941
+ getMemoSingleUser: (id: string) => {
1942
+ way: import("@authing/react-ui-components/components/Guard/core/hooks/useMultipleAccounts").LoginWay;
1943
+ account: string;
1944
+ } | undefined;
1945
+ delUserById: (id: string) => void;
1946
+ getMemberState: () => boolean;
1947
+ getFirstBackFillData: () => import("@authing/react-ui-components/components/Guard/core/hooks/useMultipleAccounts").BackFillMultipleState | undefined;
1948
+ } | undefined, openEventsMapping?: boolean | undefined) => GuardEvents;
1626
1949
  export const guardEventsHijacking: (events: GuardEvents, openEventsMapping?: boolean | undefined) => GuardEvents;
1627
1950
  export const GuardEventsCamelToKebabMapping: {
1628
1951
  readonly onLoad: "load";
@@ -1687,6 +2010,7 @@ declare module '@authing/react-ui-components/components/Guard/module' {
1687
2010
  FORCED_PASSWORD_RESET = "forcedPasswordReset",
1688
2011
  NOTICE_PASSWORD_RESET = "noticePasswordReset",
1689
2012
  FIRST_LOGIN_PASSWORD = "firstLoginPassword",
2013
+ UNSAFE_PASSWORD_RESET = "unsafePasswordReset",
1690
2014
  DOWNLOAD_AT = "downloadAT",
1691
2015
  BIND_TOTP = "bindTotp",
1692
2016
  ANY_QUESTIONS = "anyQuestions",
@@ -1913,6 +2237,7 @@ declare module '@authing/react-ui-components/components/Login/codemap' {
1913
2237
  declare module '@authing/react-ui-components/components/Login/core/withAD' {
1914
2238
  /// <reference types="react" />
1915
2239
  import { Agreement } from '@authing/react-ui-components/components/AuthingGuard/api/index';
2240
+ import { BackFillMultipleState, StoreInstance } from '@authing/react-ui-components/components/Guard/core/hooks/useMultipleAccounts';
1916
2241
  interface LoginWithADProps {
1917
2242
  publicKey: string;
1918
2243
  autoRegister?: boolean;
@@ -1920,6 +2245,14 @@ declare module '@authing/react-ui-components/components/Login/core/withAD' {
1920
2245
  onLoginFailed: any;
1921
2246
  onBeforeLogin: any;
1922
2247
  agreements: Agreement[];
2248
+ /**
2249
+ * 回填的数据
2250
+ */
2251
+ backfillData?: BackFillMultipleState;
2252
+ /**
2253
+ * 根据输入的账号 & 返回获得对应的登录方法
2254
+ */
2255
+ multipleInstance?: StoreInstance;
1923
2256
  }
1924
2257
  export const LoginWithAD: (props: LoginWithADProps) => JSX.Element;
1925
2258
  export {};
@@ -1927,10 +2260,12 @@ declare module '@authing/react-ui-components/components/Login/core/withAD' {
1927
2260
  }
1928
2261
  declare module '@authing/react-ui-components/components/Login/core/withAppQrcode' {
1929
2262
  /// <reference types="react" />
2263
+ import { StoreInstance } from '@authing/react-ui-components/components/Guard/core/hooks/useMultipleAccounts';
1930
2264
  interface LoginWithAppQrcodeProps {
1931
2265
  onLoginSuccess: any;
1932
2266
  canLoop: boolean;
1933
2267
  qrCodeScanOptions: any;
2268
+ multipleInstance?: StoreInstance;
1934
2269
  }
1935
2270
  export const LoginWithAppQrcode: (props: LoginWithAppQrcodeProps) => JSX.Element;
1936
2271
  export {};
@@ -1939,6 +2274,7 @@ declare module '@authing/react-ui-components/components/Login/core/withAppQrcode
1939
2274
  declare module '@authing/react-ui-components/components/Login/core/withLDAP' {
1940
2275
  /// <reference types="react" />
1941
2276
  import { Agreement } from '@authing/react-ui-components/components/AuthingGuard/api/index';
2277
+ import { BackFillMultipleState, StoreInstance } from '@authing/react-ui-components/components/Guard/core/hooks/useMultipleAccounts';
1942
2278
  interface LoginWithLDAPProps {
1943
2279
  publicKey: string;
1944
2280
  autoRegister?: boolean;
@@ -1947,6 +2283,14 @@ declare module '@authing/react-ui-components/components/Login/core/withLDAP' {
1947
2283
  onLoginFailed: any;
1948
2284
  onBeforeLogin: any;
1949
2285
  agreements: Agreement[];
2286
+ /**
2287
+ * 根据输入的账号 & 返回获得对应的登录方法
2288
+ */
2289
+ multipleInstance?: StoreInstance;
2290
+ /**
2291
+ * 多账号回填的数据
2292
+ */
2293
+ backfillData?: BackFillMultipleState;
1950
2294
  }
1951
2295
  export const LoginWithLDAP: (props: LoginWithLDAPProps) => JSX.Element;
1952
2296
  export {};
@@ -1987,6 +2331,7 @@ declare module '@authing/react-ui-components/components/Login/core/withPassword/
1987
2331
  import { Agreement, PasswordLoginMethods } from '@authing/react-ui-components/components/AuthingGuard/api/index';
1988
2332
  import { LoginMethods } from '@authing/react-ui-components/components/index';
1989
2333
  import { AuthingResponse } from '@authing/react-ui-components/components/_utils/http';
2334
+ import { BackFillMultipleState, StoreInstance } from '@authing/react-ui-components/components/Guard/core/hooks/useMultipleAccounts';
1990
2335
  interface LoginWithPasswordProps {
1991
2336
  publicKey: string;
1992
2337
  autoRegister?: boolean;
@@ -2000,6 +2345,14 @@ declare module '@authing/react-ui-components/components/Login/core/withPassword/
2000
2345
  loginWay?: LoginMethods;
2001
2346
  submitButText?: string;
2002
2347
  saveIdentify?: (type: LoginMethods, identity: string) => void;
2348
+ /**
2349
+ * 根据输入的账号 & 返回获得对应的登录方法
2350
+ */
2351
+ multipleInstance?: StoreInstance;
2352
+ /**
2353
+ * 多账号回填的数据
2354
+ */
2355
+ backfillData?: BackFillMultipleState;
2003
2356
  }
2004
2357
  export const LoginWithPassword: (props: LoginWithPasswordProps) => JSX.Element;
2005
2358
  export {};
@@ -2033,6 +2386,10 @@ declare module '@authing/react-ui-components/components/Login/core/withVerifyCod
2033
2386
  import React, { FC } from 'react';
2034
2387
  import './styles.less';
2035
2388
  export interface VirtualDropdownProps {
2389
+ /**
2390
+ * 回填的国际化区号
2391
+ */
2392
+ regionCode?: string;
2036
2393
  value?: string;
2037
2394
  onChange?: (value: string) => void;
2038
2395
  style?: React.CSSProperties;
@@ -2043,7 +2400,8 @@ declare module '@authing/react-ui-components/components/Login/core/withVerifyCod
2043
2400
  declare module '@authing/react-ui-components/components/Login/core/withVerifyCode/index' {
2044
2401
  /// <reference types="react" />
2045
2402
  import './styles.less';
2046
- export const LoginWithVerifyCode: (props: any) => JSX.Element;
2403
+ const LoginWithVerifyCode: (props: any) => JSX.Element;
2404
+ export { LoginWithVerifyCode };
2047
2405
 
2048
2406
  }
2049
2407
  declare module '@authing/react-ui-components/components/Login/core/withVerifyCode/inputIdentify' {
@@ -2058,10 +2416,13 @@ declare module '@authing/react-ui-components/components/Login/core/withVerifyCod
2058
2416
  }
2059
2417
  declare module '@authing/react-ui-components/components/Login/core/withWechatMiniQrcode' {
2060
2418
  /// <reference types="react" />
2419
+ import { StoreInstance } from '@authing/react-ui-components/components/Guard/core/hooks/useMultipleAccounts';
2061
2420
  interface LoginWithWechatMiniQrcodeProps {
2062
2421
  onLoginSuccess: any;
2063
2422
  canLoop: boolean;
2064
2423
  qrCodeScanOptions: any;
2424
+ id: string;
2425
+ multipleInstance?: StoreInstance;
2065
2426
  }
2066
2427
  export const LoginWithWechatMiniQrcode: (props: LoginWithWechatMiniQrcodeProps) => JSX.Element;
2067
2428
  export {};
@@ -2069,14 +2430,70 @@ declare module '@authing/react-ui-components/components/Login/core/withWechatMin
2069
2430
  }
2070
2431
  declare module '@authing/react-ui-components/components/Login/core/withWechatmpQrcode' {
2071
2432
  /// <reference types="react" />
2433
+ import { StoreInstance } from '@authing/react-ui-components/components/Guard/core/hooks/useMultipleAccounts';
2072
2434
  interface LoginWithWechatmpQrcodeProps {
2073
2435
  onLoginSuccess: any;
2074
2436
  canLoop: boolean;
2075
2437
  qrCodeScanOptions: any;
2438
+ id: string;
2439
+ /**
2440
+ * 多账号存储实例
2441
+ */
2442
+ multipleInstance?: StoreInstance;
2076
2443
  }
2077
2444
  export const LoginWithWechatmpQrcode: (props: LoginWithWechatmpQrcodeProps) => JSX.Element;
2078
2445
  export {};
2079
2446
 
2447
+ }
2448
+ declare module '@authing/react-ui-components/components/Login/hooks/useLoginMultiple' {
2449
+ /// <reference types="react" />
2450
+ import { FormInstance } from 'antd/lib/form';
2451
+ import { BackFillMultipleState, LoginWay } from '@authing/react-ui-components/components/Guard/core/hooks/useMultipleAccounts';
2452
+ /**
2453
+ * 多账号登录下 账户 & 登录方式自动回填
2454
+ * TODO: HOOK 参数有时间整理成为对象,开始没有想到有这么多
2455
+ * 调用地方 core 中需要回填的两个登录方式
2456
+ */
2457
+ function useLoginMultipleBackFill(form: FormInstance<any>, way: LoginWay, formKey: string, backfillData?: BackFillMultipleState, isOnlyInternationSms?: boolean, setAreaCode?: React.Dispatch<React.SetStateAction<string>>): void;
2458
+ /**
2459
+ * 多账号统一状态管理
2460
+ * @param setLoginWay
2461
+ * @returns
2462
+ */
2463
+ function useLoginMultiple(setLoginWay: React.Dispatch<any>): {
2464
+ isMultipleAccount: boolean;
2465
+ multipleInstance: {
2466
+ initStore: (appId: string, options: {
2467
+ serverSideLoginMethods: LoginWay[];
2468
+ isInternationSms: boolean;
2469
+ }) => void;
2470
+ setLoginWay: (tab: "input" | "qrcode", way: LoginWay, id?: string | undefined, internation?: {
2471
+ phoneCountryCode: string;
2472
+ areaCode: string;
2473
+ } | undefined) => void;
2474
+ setUserInfo: (user: Pick<import("@authing/react-ui-components/components/Guard/core/hooks/useMultipleAccounts").User & {
2475
+ id: string;
2476
+ }, "email" | "username" | "phone" | "id" | "nickname" | "photo" | "name" | "_updateTime" | "qrCodeId" | "areaCode">) => void;
2477
+ setLoginWayByHttpData: (account: string, data: {
2478
+ username?: string | undefined;
2479
+ phone?: string | undefined;
2480
+ email?: string | undefined;
2481
+ }) => void;
2482
+ getMemoUser: (excludeWays?: LoginWay[]) => import("@authing/react-ui-components/components/Login/multipleAccounts/panel").SelectOptions[];
2483
+ getMemoSingleUser: (id: string) => {
2484
+ way: LoginWay;
2485
+ account: string;
2486
+ } | undefined;
2487
+ delUserById: (id: string) => void;
2488
+ getMemberState: () => boolean;
2489
+ getFirstBackFillData: () => BackFillMultipleState | undefined;
2490
+ } | undefined;
2491
+ referMultipleState: ((type: "login" | "multiple") => void) | undefined;
2492
+ backfillData: BackFillMultipleState | undefined;
2493
+ defaultQrWay: string | undefined;
2494
+ };
2495
+ export { useLoginMultipleBackFill, useLoginMultiple };
2496
+
2080
2497
  }
2081
2498
  declare module '@authing/react-ui-components/components/Login/index' {
2082
2499
  /// <reference types="react" />
@@ -2125,6 +2542,79 @@ declare module '@authing/react-ui-components/components/Login/interface' {
2125
2542
  }
2126
2543
  export const getDefaultLoginConfig: () => LoginConfig;
2127
2544
 
2545
+ }
2546
+ declare module '@authing/react-ui-components/components/Login/multipleAccounts/index' {
2547
+ import React from 'react';
2548
+ import { LoginWay, StoreInstance } from '@authing/react-ui-components/components/Guard/core/hooks/useMultipleAccounts';
2549
+ import { GuardModuleType } from '@authing/react-ui-components/components/Guard/index';
2550
+ interface MultipleAccountsProps {
2551
+ /**
2552
+ * 多账号存储实例
2553
+ */
2554
+ multipleInstance?: StoreInstance;
2555
+ /**
2556
+ * 切换 Guard 方法
2557
+ */
2558
+ changeModule?: (moduleName: GuardModuleType, initData?: any) => Promise<void>;
2559
+ /**
2560
+ * 切换多账号状态
2561
+ */
2562
+ referMultipleState?: (type: 'login' | 'multiple', data?: {
2563
+ account: string;
2564
+ way: LoginWay;
2565
+ }) => void;
2566
+ }
2567
+ const MultipleAccounts: React.NamedExoticComponent<MultipleAccountsProps>;
2568
+ export { MultipleAccounts };
2569
+
2570
+ }
2571
+ declare module '@authing/react-ui-components/components/Login/multipleAccounts/panel' {
2572
+ import React from 'react';
2573
+ import './style.less';
2574
+ interface SelectPanelProps {
2575
+ lists: SelectOptions[];
2576
+ /**
2577
+ * 点击删除
2578
+ */
2579
+ handleDel: (id: string) => void;
2580
+ /**
2581
+ * 点击 li
2582
+ */
2583
+ onClick: (id: string) => void;
2584
+ }
2585
+ export interface SelectOptions {
2586
+ /**
2587
+ * 头像
2588
+ */
2589
+ photo?: string;
2590
+ /**
2591
+ * 标题
2592
+ */
2593
+ title?: string;
2594
+ /**
2595
+ * 描述
2596
+ */
2597
+ description?: string;
2598
+ /**
2599
+ * 用户 ID 唯一标识符
2600
+ */
2601
+ id: string | 'other';
2602
+ /**
2603
+ * 显示操作栏 default: true
2604
+ */
2605
+ operation?: boolean;
2606
+ /**
2607
+ * 登录时间
2608
+ */
2609
+ _updateTime: number;
2610
+ /**
2611
+ * 替代图片元素
2612
+ */
2613
+ element?: React.ReactElement;
2614
+ }
2615
+ const SelectPanel: React.FC<SelectPanelProps>;
2616
+ export { SelectPanel };
2617
+
2128
2618
  }
2129
2619
  declare module '@authing/react-ui-components/components/Login/socialLogin/IdpButton/index' {
2130
2620
  /// <reference types="react" />
@@ -2136,6 +2626,7 @@ declare module '@authing/react-ui-components/components/Login/socialLogin/index'
2136
2626
  import { ApplicationConfig, SocialConnectionItem } from '@authing/react-ui-components/components/AuthingGuard/api/index';
2137
2627
  import './style.less';
2138
2628
  import { GuardLocalConfig } from '@authing/react-ui-components/components/Guard/index';
2629
+ import { StoreInstance } from '@authing/react-ui-components/components/Guard/core/hooks/useMultipleAccounts';
2139
2630
  export interface SocialLoginProps {
2140
2631
  appId: string;
2141
2632
  config: GuardLocalConfig;
@@ -2143,6 +2634,10 @@ declare module '@authing/react-ui-components/components/Login/socialLogin/index'
2143
2634
  onLoginSuccess: any;
2144
2635
  enterpriseConnectionObjs: ApplicationConfig['identityProviders'];
2145
2636
  socialConnectionObjs: SocialConnectionItem[];
2637
+ /**
2638
+ * 根据输入的账号 & 返回获得对应的登录方法
2639
+ */
2640
+ multipleInstance?: StoreInstance;
2146
2641
  }
2147
2642
  export const SocialLogin: React.FC<SocialLoginProps>;
2148
2643
 
@@ -3003,6 +3498,7 @@ declare module '@authing/react-ui-components/components/_utils/context' {
3003
3498
  import React from 'react';
3004
3499
  import { GuardEvents, GuardLocalConfig, GuardModuleType, GuardPageConfig } from '@authing/react-ui-components/components/index';
3005
3500
  import { ApplicationConfig } from '@authing/react-ui-components/components/AuthingGuard/api/index';
3501
+ import { BackFillMultipleState, StoreInstance } from '@authing/react-ui-components/components/Guard/core/hooks/useMultipleAccounts';
3006
3502
  import { ModuleState } from '@authing/react-ui-components/components/Guard/GuardModule/stateMachine';
3007
3503
  import { GuardHttp } from '@authing/react-ui-components/components/_utils/guardHttp';
3008
3504
  export interface IGuardContext {
@@ -3020,6 +3516,29 @@ declare module '@authing/react-ui-components/components/_utils/context' {
3020
3516
  isAuthFlow: boolean;
3021
3517
  contextLoaded: boolean;
3022
3518
  guardPageConfig: Partial<GuardPageConfig>;
3519
+ multipleInstance: {
3520
+ /**
3521
+ * 多账号相关
3522
+ */
3523
+ isMultipleAccount: boolean;
3524
+ /**
3525
+ * when: 多账号页面跳转进入登录页面
3526
+ * 携带的回填数据信息
3527
+ */
3528
+ multipleAccountData?: BackFillMultipleState;
3529
+ /**
3530
+ * 多账号 store 实例
3531
+ */
3532
+ instance?: StoreInstance;
3533
+ /**
3534
+ * 切换多账号 isMultipleAccount 状态
3535
+ */
3536
+ referMultipleState?: (type: 'login' | 'multiple') => void;
3537
+ /**
3538
+ * 清空回填数据
3539
+ */
3540
+ clearBackFillData?: () => void;
3541
+ };
3023
3542
  }
3024
3543
  export const createGuardXContext: () => {
3025
3544
  Provider: React.FC<{
@@ -3057,6 +3576,60 @@ declare module '@authing/react-ui-components/components/_utils/context' {
3057
3576
  export const useGuardContextLoaded: () => boolean;
3058
3577
  export const useGuardIsAuthFlow: () => boolean;
3059
3578
  export const useGuardPageConfig: () => Partial<GuardPageConfig>;
3579
+ /**
3580
+ * 多账号登录 store 实例
3581
+ */
3582
+ export const useGuardMultipleInstance: () => {
3583
+ /**
3584
+ * 多账号相关
3585
+ */
3586
+ isMultipleAccount: boolean;
3587
+ /**
3588
+ * when: 多账号页面跳转进入登录页面
3589
+ * 携带的回填数据信息
3590
+ */
3591
+ multipleAccountData?: BackFillMultipleState | undefined;
3592
+ /**
3593
+ * 多账号 store 实例
3594
+ */
3595
+ instance?: {
3596
+ initStore: (appId: string, options: {
3597
+ serverSideLoginMethods: import("@authing/react-ui-components/components/Guard/core/hooks/useMultipleAccounts").LoginWay[];
3598
+ isInternationSms: boolean;
3599
+ }) => void;
3600
+ setLoginWay: (tab: "input" | "qrcode", way: import("@authing/react-ui-components/components/Guard/core/hooks/useMultipleAccounts").LoginWay, id?: string | undefined, internation?: {
3601
+ phoneCountryCode: string;
3602
+ areaCode: string;
3603
+ } | undefined) => void;
3604
+ setUserInfo: (user: Pick<import("@authing/react-ui-components/components/Guard/core/hooks/useMultipleAccounts").User & {
3605
+ id: string;
3606
+ }, "email" | "username" | "phone" | "id" | "nickname" | "photo" | "name" | "_updateTime" | "qrCodeId" | "areaCode">) => void;
3607
+ setLoginWayByHttpData: (account: string, data: {
3608
+ username?: string | undefined;
3609
+ phone?: string | undefined;
3610
+ email?: string | undefined;
3611
+ }) => void;
3612
+ getMemoUser: (excludeWays?: import("@authing/react-ui-components/components/Guard/core/hooks/useMultipleAccounts").LoginWay[]) => import("../Login/multipleAccounts/panel").SelectOptions[];
3613
+ getMemoSingleUser: (id: string) => {
3614
+ way: import("@authing/react-ui-components/components/Guard/core/hooks/useMultipleAccounts").LoginWay;
3615
+ account: string;
3616
+ } | undefined;
3617
+ delUserById: (id: string) => void;
3618
+ getMemberState: () => boolean;
3619
+ getFirstBackFillData: () => BackFillMultipleState | undefined;
3620
+ } | undefined;
3621
+ /**
3622
+ * 切换多账号 isMultipleAccount 状态
3623
+ */
3624
+ referMultipleState?: ((type: 'login' | 'multiple') => void) | undefined;
3625
+ /**
3626
+ * 清空回填数据
3627
+ */
3628
+ clearBackFillData?: (() => void) | undefined;
3629
+ };
3630
+ /**
3631
+ * 登录页面状态
3632
+ // */
3060
3633
 
3061
3634
  }
3062
3635
  declare module '@authing/react-ui-components/components/_utils/corsVerification' {
@@ -3130,7 +3703,7 @@ declare module '@authing/react-ui-components/components/_utils/guardHttp' {
3130
3703
  setTenantId(tenantId: string): this;
3131
3704
  setBaseUrl(baseUrl: string): this;
3132
3705
  getHeaders: () => Record<string, string>;
3133
- get: <T = any>(path: string, query?: Record<string, any>, config?: RequestInit | undefined) => Promise<AuthingGuardResponse<T>>;
3706
+ get: <T = any>(path: string, query?: Record<string, any>, config?: any) => Promise<AuthingGuardResponse<T>>;
3134
3707
  post: <T = any>(path: string, data: any, config?: {
3135
3708
  headers: any;
3136
3709
  } | undefined) => Promise<AuthingGuardResponse<T>>;
@@ -3194,9 +3767,10 @@ declare module '@authing/react-ui-components/components/_utils/hooks/index' {
3194
3767
  }
3195
3768
  declare module '@authing/react-ui-components/components/_utils/http' {
3196
3769
  import { CodeAction } from '@authing/react-ui-components/components/_utils/responseManagement/interface';
3770
+ import { AxiosRequestConfig } from 'axios';
3197
3771
  export const requestClient: {
3198
3772
  (input: RequestInfo, init?: RequestInit | undefined): Promise<any>;
3199
- get<T>(path: string, query?: Record<string, any>, init?: RequestInit | undefined): Promise<AuthingResponse<T>>;
3773
+ get<T>(path: string, query?: Record<string, any>, init?: AxiosRequestConfig<any> | undefined): Promise<AuthingResponse<T>>;
3200
3774
  post<T_1>(path: string, data: any, config?: {
3201
3775
  headers: any;
3202
3776
  } | undefined): Promise<AuthingResponse<T_1>>;
@@ -3413,10 +3987,20 @@ declare module '@authing/react-ui-components/components/_utils/responseManagemen
3413
3987
  UNLOCK = 1643,
3414
3988
  FLOW_END = 1600,
3415
3989
  FIRST_LOGIN_PASSWORD = 1639,
3416
- FORCED_PASSWORD_RESET = 2058
3990
+ FORCED_PASSWORD_RESET = 2058,
3991
+ UNSAFE_PASSWORD_TIP = 2061,
3992
+ UNSAFE_PASSWORD_RESET = 2071
3417
3993
  }
3418
3994
  export const ChangeModuleApiCodeMapping: Record<string, GuardModuleType>;
3419
3995
 
3996
+ }
3997
+ declare module '@authing/react-ui-components/components/_utils/useErrorText' {
3998
+ import React from 'react';
3999
+ export const usePasswordErrorText: () => {
4000
+ setPasswordErrorTextShow: React.Dispatch<React.SetStateAction<boolean>>;
4001
+ getPassWordUnsafeText: () => JSX.Element;
4002
+ };
4003
+
3420
4004
  }
3421
4005
  declare module '@authing/react-ui-components/components/context/base' {
3422
4006
  import React from 'react';
@@ -3510,7 +4094,7 @@ declare module '@authing/react-ui-components/components/version/index' {
3510
4094
 
3511
4095
  }
3512
4096
  declare module '@authing/react-ui-components/components/version/version' {
3513
- const _default: "3.1.27";
4097
+ const _default: "3.1.29-alpha.0";
3514
4098
  export default _default;
3515
4099
 
3516
4100
  }