1.3.16 • Published 9 months ago

@olostecnologia/olos-cognito-auth v1.3.16

Weekly downloads
-
License
ISC
Repository
-
Last release
9 months ago

Olos Cognito Auth

O Olos Cognito Auth é um componente React que gerencia Tokens Cognito e gera Tokens para Aplicações Olos.

Como Instalar

Para instalar o componente, você pode utilizar o seguinte comando:

npm install @olostecnologia/olos-cognito-auth

Como Utilizar o Componente

Configuração

  1. Importe o "provider" OlosCognitoAuthProvider e adicione o componente como pai da sua aplicação. A única propriedade que deve ser passada para o "provider" é um objeto de configuração.
import { OlosCognitoAuthProvider, IOlosCognitoAuth } from "@olostecnologia/olos-cognito-auth";

const config: IOlosCognitoAuth = {
  tenantId: conf.tenantId,
  access_key_id: conf.access_key_id,
  secret_access_key: conf.secret_access_key,
  appName: conf.appName,
  redirect_sign_in: conf.redirect_sign_in,
  redirect_sign_out: conf.redirect_sign_out,
  environment: conf.environment,
  locale: conf.locale,
};

<OlosCognitoAuthProvider configuration={config}>
  <App />
</OlosCognitoAuthProvider>

Como Renderizar o Formulário

Para renderizar o formulário, siga os passos abaixo:

  1. Importe o componente OlosCognitoAuthForm.
  2. Renderize o componente dentro do contexto de OlosCognitoAuthProvider.
import { OlosCognitoAuthForm } from '@olostecnologia/olos-cognito-auth';

<OlosCognitoAuthForm />

Como Ouvir os Eventos

  1. Importe o hook useCognitoAuthEvents e aguarde os eventos de signIn, signOut e refreshToken. As informações sobre o Token Olos são retornadas nas respostas dos eventos.
import { useCognitoAuthEvents, CognitoAuthEvents } from "@olostecnologia/olos-cognito-auth";
import "@olostecnologia/olos-cognito-auth/src/Default.scss"; // Importe o SCSS aqui

useCognitoAuthEvents((response) => {
  const { event, data } = response;

  switch (event) {
    case CognitoAuthEvents.SIGN_IN:
      console.log('CognitoAuthEvents.SIGN_IN', data);
      break;

    case CognitoAuthEvents.SIGN_OUT:
      console.log('CognitoAuthEvents.SIGN_OUT', data);
      break;

    case CognitoAuthEvents.TOKEN_REFRESH:
      console.log('CognitoAuthEvents.TOKEN_REFRESH', data);
      break;
  }
});

Como Estilizar com styles.scss

Para estilizar o componente utilizando o arquivo styles.css, siga os passos abaixo:

  1. Importe o arquivo styles.scss no seu projeto.
import "@olostecnologia/olos-cognito-auth/src/styles.scss";

Agora, o componente será estilizado de acordo com as definições do arquivo styles.css.

Função para Validação de Senha

A função validatePassword foi criada para avaliar a robustez de uma senha fornecida. Ela retorna um array de mensagens de validação, cada uma contendo uma string de mensagem, um booleano indicando se é uma mensagem de erro ou sucesso, um ícone representativo e um rótulo ARIA para acessibilidade.

Exemplo de Uso:

import { validatePassword } from './validation';

const senha = 'exemploSenha123';
const resultadosValidacao = validatePassword(senha);

// Exemplo de saída:
// [
//   { message: 'A senha tem pelo menos 8 caracteres', isError: false, icon: '✅', ariaLabel: 'check' },
//   { message: 'A senha contém pelo menos 1 número', isError: false, icon: '✅', ariaLabel: 'check' },
//   { message: 'A senha contém pelo menos 1 caractere especial', isError: false, icon: '✅', ariaLabel: 'check' },
//   { message: 'A senha contém pelo menos 1 letra maiúscula', isError: false, icon: '✅', ariaLabel: 'check' },
//   { message: 'A senha contém pelo menos 1 letra minúscula', isError: false, icon: '✅', ariaLabel: 'check' },
// ]

Utilizando customPasswordValidation em OlosCognitoAuthForm

O componente OlosCognitoAuthForm possui uma propriedade chamada customPasswordValidation que permite fornecer lógica personalizada de validação de senha. Essa propriedade recebe uma função que recebe a senha como parâmetro e retorna uma matriz de mensagens de validação.

Exemplo:

const myCustomValidation = (password: string): { message: string, isError: boolean, icon: string, ariaLabel: string }[] => {
  const messages = [];
  
  if (password.length < 10) {
    messages.push({ message: "A senha precisa conter 10 letras", isError: true, icon: '❌', ariaLabel: 'error' });
  } else {
    messages.push({ message: "A senha contém 10 letras", isError: false, icon: '✅', ariaLabel: 'check' });
  }
  return messages;
}

function App() {
  // ... (código existente)

  return (
    <div className="App">
      {!!cognitoAuthProviderConfig && !!eventEmitter && (
        <OlosCognitoAuthProvider configuration={cognitoAuthProviderConfig} eventEmitter={eventEmitter} >
          <OlosCognitoAuthForm  customPasswordValidation={myCustomValidation} useThirdParty={true}/>
        </OlosCognitoAuthProvider>
      )}
    </div>
  );
}

Neste exemplo, myCustomValidation é uma função que recebe uma senha como parâmetro e retorna uma matriz de mensagens de validação. Você pode personalizar esta função de acordo com os requisitos específicos de validação de senha.

Ao utilizar o componente OlosCognitoAuthForm, passe sua função de validação personalizada como valor para a propriedade customPasswordValidation. Isso permite que você implemente uma lógica de validação de senha adaptada às necessidades específicas de sua aplicação.

1.3.13

9 months ago

1.3.14

9 months ago

1.3.11

1 year ago

1.3.12

9 months ago

1.3.15

9 months ago

1.3.16

9 months ago

1.3.10

1 year ago

1.3.9

1 year ago

1.3.8

1 year ago

1.3.7

1 year ago

1.2.3-beta7

2 years ago

1.2.3-beta6

2 years ago

1.2.3-beta5

2 years ago

1.2.3-beta4

2 years ago

1.2.3-beta3

2 years ago

1.2.6

1 year ago

1.2.5

1 year ago

1.2.4

1 year ago

1.2.3

2 years ago

1.2.3-beta2

2 years ago

1.3.6

1 year ago

1.3.5

1 year ago

1.3.4

1 year ago

1.3.3

1 year ago

1.3.2

1 year ago

1.3.1

1 year ago

1.3.0

1 year ago

1.2.3-beta1

2 years ago

1.2.2

2 years ago

1.2.2-beta9

2 years ago

1.2.2-beta8

2 years ago

1.2.2-beta5

2 years ago

1.2.2-beta7

2 years ago

1.2.2-beta6

2 years ago

1.2.2-beta12

2 years ago

1.2.2-beta11

2 years ago

1.2.2-beta10

2 years ago

1.2.1

2 years ago

1.2.2-beta4

2 years ago

1.2.2-beta1

2 years ago

1.2.2-beta3

2 years ago

1.2.2-beta2

2 years ago

1.2.1-beta14

2 years ago

1.2.1-beta11

2 years ago

1.2.1-beta12

2 years ago

1.2.1-beta13

2 years ago

1.2.1-beta4

2 years ago

1.2.1-beta3

2 years ago

1.2.1-beta2

2 years ago

1.2.1-beta1

2 years ago

1.2.1-beta8

2 years ago

1.2.1-beta7

2 years ago

1.2.1-beta6

2 years ago

1.2.1-beta5

2 years ago

1.2.1-beta9

2 years ago

1.2.1-beta10

2 years ago

1.2.0

2 years ago

1.1.9

2 years ago

1.1.8

2 years ago

1.1.7

2 years ago

1.2.0-beta1

2 years ago

1.2.0-beta3

2 years ago

1.2.0-beta2

2 years ago

1.2.0-beta4

2 years ago

1.1.6

2 years ago

1.1.5

2 years ago

1.1.4

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.0.8

2 years ago

1.0.7-beta.9

2 years ago

1.0.7-beta.5

2 years ago

1.0.7-beta.6

2 years ago

1.0.7-beta.7

2 years ago

1.0.7-beta.8

2 years ago

1.0.7-beta.2

2 years ago

1.0.7-beta.3

2 years ago

1.0.7-beta.4

2 years ago

1.0.7-beta.91

2 years ago

1.0.7

2 years ago

1.0.8-beta.0

2 years ago

1.0.7-beta.1

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.5-beta.9

2 years ago

1.0.5-beta.7

2 years ago

1.0.5-beta.8

2 years ago

1.0.5-beta.6

2 years ago

1.0.5-beta.5

2 years ago

1.0.5-beta.3

2 years ago

1.0.5-beta.4

2 years ago

1.0.5-beta.2

2 years ago

1.0.5-beta.1

2 years ago

1.0.4

2 years ago

1.0.2

2 years ago

0.3.31

2 years ago

1.0.1

2 years ago

0.3.30

2 years ago

1.0.0

2 years ago

0.3.39

2 years ago

0.3.38

2 years ago

0.3.37

2 years ago

0.3.36

2 years ago

0.3.35

2 years ago

0.3.34

2 years ago

0.3.33

2 years ago

1.0.3

2 years ago

0.3.32

2 years ago

0.3.29

2 years ago

0.3.28

2 years ago

0.3.27

2 years ago

0.3.26

2 years ago

0.3.25

2 years ago

0.3.24

2 years ago

0.3.52

2 years ago

0.3.51

2 years ago

0.3.50

2 years ago

0.3.42

2 years ago

0.3.41

2 years ago

0.3.40

2 years ago

0.3.49

2 years ago

0.3.48

2 years ago

0.3.47

2 years ago

0.3.46

2 years ago

0.3.45

2 years ago

0.3.44

2 years ago

0.3.43

2 years ago

0.3.17

2 years ago

0.3.16

2 years ago

0.3.15

2 years ago

0.3.14

2 years ago

0.3.13

2 years ago

0.3.12

2 years ago

0.3.11

2 years ago

0.3.20

2 years ago

0.2.96

2 years ago

0.2.95

2 years ago

0.2.94

2 years ago

0.3.23

2 years ago

0.3.22

2 years ago

0.3.21

2 years ago

0.3.0

2 years ago

0.3.19

2 years ago

0.3.18

2 years ago

0.3.1

2 years ago

0.2.93

3 years ago

0.2.92

3 years ago

0.2.91

3 years ago

0.2.9

3 years ago

0.2.8

3 years ago

0.2.7

3 years ago

0.2.6

3 years ago

0.2.5

3 years ago

0.2.4

3 years ago

0.2.3

3 years ago

0.2.2

3 years ago

0.2.1

3 years ago

0.2.0

3 years ago

0.1.9

3 years ago

0.1.8

3 years ago

0.1.7

3 years ago

0.1.6

3 years ago

0.1.5

3 years ago

0.1.4

3 years ago

0.1.3

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.1.0

3 years ago