npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@olostecnologia/olos-cognito-auth

v1.3.8

Published

React Component that manages Cognito Tokens and generates new Tokens for Olos Applications.

Downloads

736

Readme

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.