@archbase/security 4.0.38 → 4.0.40
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/dist/archbase-security-4.0.40.tgz +0 -0
- package/dist/index.js +1066 -887
- package/dist/src/ArchbaseAuthenticator.d.ts +6 -0
- package/dist/src/ArchbaseLogin.d.ts +11 -1
- package/dist/src/ArchbaseMfaSetup.d.ts +24 -0
- package/dist/src/hooks/useArchbaseAuthenticationManager.d.ts +3 -0
- package/dist/src/index.d.ts +1 -0
- package/package.json +5 -5
- package/dist/archbase-security-4.0.38.tgz +0 -0
|
@@ -5,6 +5,12 @@ export interface ArchbaseAuthenticator {
|
|
|
5
5
|
refreshToken(refresh_token: string): Promise<ArchbaseAccessToken>;
|
|
6
6
|
sendResetPasswordEmail(email: string): Promise<void>;
|
|
7
7
|
resetPassword(email: string, passwordResetToken: string, newPassword: string): Promise<void>;
|
|
8
|
+
/**
|
|
9
|
+
* Completa o login em duas etapas quando o usuário tem MFA/2FA: recebe o token de desafio
|
|
10
|
+
* (retornado no `login`/`loginWithContext` como `mfa_required`) + o código do segundo fator
|
|
11
|
+
* (TOTP ou código de recuperação) e devolve os tokens reais.
|
|
12
|
+
*/
|
|
13
|
+
verifyMfa?(challengeToken: string, code: string): Promise<ArchbaseAccessToken>;
|
|
8
14
|
/** Login contextual com suporte a enrichers específicos da aplicação */
|
|
9
15
|
loginWithContext?(request: ContextualAuthenticationRequest): Promise<ContextualAuthenticationResponse>;
|
|
10
16
|
/** Login flexível com email ou telefone */
|
|
@@ -26,5 +26,15 @@ export interface ArchbaseLoginProps {
|
|
|
26
26
|
disabledLogin?: boolean;
|
|
27
27
|
isCheckingUsername?: boolean;
|
|
28
28
|
showSignIn?: boolean;
|
|
29
|
+
/** Login em duas etapas (MFA): quando `true`, exibe o painel de código em vez do formulário. */
|
|
30
|
+
mfaRequired?: boolean;
|
|
31
|
+
/** Valida o código do segundo fator (TOTP ou de recuperação). */
|
|
32
|
+
onVerifyMfa?: (code: string) => Promise<void>;
|
|
33
|
+
/** Mensagem de erro específica da etapa de MFA. */
|
|
34
|
+
mfaError?: string;
|
|
35
|
+
/** Volta do painel de MFA para o formulário de login. */
|
|
36
|
+
onCancelMfa?: () => void;
|
|
37
|
+
/** Indica verificação em andamento (desabilita o botão). */
|
|
38
|
+
isVerifyingMfa?: boolean;
|
|
29
39
|
}
|
|
30
|
-
export declare function ArchbaseLogin({ onLogin, error, onClickForgotPassword, loginLabel, loginPlaceholder, afterInputs, showMockUsersSelector, mockUsers, mockUsersGroupMap, options, onChangeUsername, disabledLogin, isCheckingUsername, showSignIn, }: ArchbaseLoginProps): import("react/jsx-runtime").JSX.Element;
|
|
40
|
+
export declare function ArchbaseLogin({ onLogin, error, onClickForgotPassword, loginLabel, loginPlaceholder, afterInputs, showMockUsersSelector, mockUsers, mockUsersGroupMap, options, onChangeUsername, disabledLogin, isCheckingUsername, showSignIn, mfaRequired, onVerifyMfa, mfaError, onCancelMfa, isVerifyingMfa, }: ArchbaseLoginProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/** Resultado do início da configuração de MFA (espelha o backend MfaSetup). */
|
|
2
|
+
export interface ArchbaseMfaSetupData {
|
|
3
|
+
secret: string;
|
|
4
|
+
provisioningUri: string;
|
|
5
|
+
}
|
|
6
|
+
export interface ArchbaseMfaSetupProps {
|
|
7
|
+
/** Estado atual do MFA do usuário (vindo de GET /mfa/status). */
|
|
8
|
+
enabled: boolean;
|
|
9
|
+
/** Inicia a configuração: POST /mfa/setup → segredo + URI do QR. */
|
|
10
|
+
onSetup: () => Promise<ArchbaseMfaSetupData>;
|
|
11
|
+
/** Confirma o primeiro código: POST /mfa/enable → códigos de recuperação. */
|
|
12
|
+
onEnable: (code: string) => Promise<string[]>;
|
|
13
|
+
/** Desativa o MFA: POST /mfa/disable. */
|
|
14
|
+
onDisable: () => Promise<void>;
|
|
15
|
+
/** Notifica o app quando o estado de habilitação muda. */
|
|
16
|
+
onStatusChange?: (enabled: boolean) => void;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* ArchbaseMfaSetup — configuração genérica do segundo fator (TOTP) do usuário autenticado.
|
|
20
|
+
* Presentational: recebe callbacks para os endpoints {@code /mfa/setup|enable|disable}. Fluxo:
|
|
21
|
+
* ativar → ler o QR / segredo no app autenticador → confirmar o código → guardar os códigos
|
|
22
|
+
* de recuperação. Também permite desativar quando já ativo.
|
|
23
|
+
*/
|
|
24
|
+
export declare function ArchbaseMfaSetup({ enabled, onSetup, onEnable, onDisable, onStatusChange, }: ArchbaseMfaSetupProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -10,6 +10,9 @@ export interface AuthenticationManagerReturnType {
|
|
|
10
10
|
error: any;
|
|
11
11
|
clearError: () => void;
|
|
12
12
|
accessToken?: string | null;
|
|
13
|
+
mfaRequired: boolean;
|
|
14
|
+
verifyMfa?: (code: string) => Promise<void>;
|
|
15
|
+
cancelMfa: () => void;
|
|
13
16
|
loginWithContext?: (request: ContextualAuthenticationRequest, rememberMe?: boolean) => Promise<void>;
|
|
14
17
|
loginFlexible?: (request: FlexibleLoginRequest, rememberMe?: boolean) => Promise<void>;
|
|
15
18
|
loginSocial?: (request: SocialLoginRequest) => Promise<void>;
|
package/dist/src/index.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export * from './ArchbaseApiTokenService';
|
|
|
14
14
|
export * from './ArchbaseAccessTokenService';
|
|
15
15
|
export * from './ArchbaseResourceService';
|
|
16
16
|
export * from './ArchbaseLogin';
|
|
17
|
+
export * from './ArchbaseMfaSetup';
|
|
17
18
|
export * from './ArchbaseResetPassword';
|
|
18
19
|
export * from './SecurityType';
|
|
19
20
|
export * from './SecurityDomain';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@archbase/security",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.40",
|
|
4
4
|
"description": "Security and authentication components for Archbase React",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -37,10 +37,10 @@
|
|
|
37
37
|
"reflect-metadata": "^0.1.13",
|
|
38
38
|
"rxjs": "^7.8.2",
|
|
39
39
|
"uuid": "^9.0.1",
|
|
40
|
-
"@archbase/components": "4.0.
|
|
41
|
-
"@archbase/core": "4.0.
|
|
42
|
-
"@archbase/data": "4.0.
|
|
43
|
-
"@archbase/layout": "4.0.
|
|
40
|
+
"@archbase/components": "4.0.40",
|
|
41
|
+
"@archbase/core": "4.0.40",
|
|
42
|
+
"@archbase/data": "4.0.40",
|
|
43
|
+
"@archbase/layout": "4.0.40"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@types/crypto-js": "^4.1.1",
|
|
Binary file
|