senior_platform_authentication 8.2.0 copy "senior_platform_authentication: ^8.2.0" to clipboard
senior_platform_authentication: ^8.2.0 copied to clipboard

A package that make it easy to implement the Senior X authentication for Dart.

Senior Platform Authentication #

O objetivo deste projeto é ser uma ponte de integração entre os endpoints utilizados na autenticação com o Senior-X e a linguagem Dart sem dependências diretas com o sdk do Flutter. Sendo assim, pode ser utilizado não só por aplicativos Flutter mas também com outros tipos de aplicações que utilizam o Dart.

Também oferecemos o package senior_platform_authentication_ui que já faz a integração com este projeto oferecendo as telas já prontas para serem consumidas por aplicativos Flutter e regras de negócio atrelados ao Senior-X.

Recomendamos utilizar este package de forma direta, apenas se o contexto do projeto que está a ser desenvolvido necessita de customizações em telas do frontend do Flutter que a lib senior_platform_authentication_ui não suporta.

Arquitetura #

A arquitetura foi baseada no Clean Architecture, entretanto com algumas adaptações para o escopo do projeto após análise técnica da equipe responsável pelo desenvolvimento incicial deste projeto. Este projeto provê apenas as camadas Data e Domain para serem utilizadas de forma independente.

Como utilizar #

Carregue o pacote senior_platform_authentication.

import 'package:senior_platform_authentication/senior_platform_authentication.dart';

Configuração do base URL (opcional) #

Os datasources remotos são configurados para utilizar um Singleton que contém a base url das requisições. Por padrão a base url utilizada é a do ambiente de produção do Senior X.

SeniorAuthentication.initialize(
  encryptionKey: 'sua chave de criptografia de 32 caracteres alfanuméricos',
);

Também podemos inicializar escolhendo o ambiente para o qual as requisições irão ser direcionadas:

SeniorAuthentication.initialize(
  platformEnvironment: PlatformEnvironment.homolog,
  encryptionKey: 'sua chave de criptografia de 32 caracteres alfanuméricos'
);

Além disso, existem outras configurações disponíveis no método initialize, veja:

Parâmetro Valor default Descrição
platformEnvironment PlatformEnvironment.production Ambiente em que as requisições serão direcionadas.
enableLoginOffline false Habilita ou desabilita o login offline. Tem efeito somente quando utilizado em conjunto com o package senior-platform-authentication-ui.
automaticLogon true Define se o login deve ser feito de forma automática. Tem efeito somente quando utilizado em conjunto com o package senior-platform-authentication-ui e quando enableLoginOffline estiver habilitado.
includePhoto false Habilita ou desabilita a inclusão da photo do usuário nas chamadas de getUser.
baseUrl '' Deve ser usado apenas quando platformEnvironment possuir o valor PlatformEnvironment.custom. Define a baseUrl de forma customizada.
baseAnonymousUrl '' Deve ser usado apenas quando platformEnvironment possuir o valor PlatformEnvironment.custom. Define a baseAnonymousUrl de forma customizada.
frontendUrl '' Deve ser usado apenas quando platformEnvironment possuir o valor PlatformEnvironment.custom. Define a frontendUrl de forma customizada.
enableLoginWithKey false Habilita ou desabilita o login com chave de aplicação. Tem efeito somente quando utilizado em conjunto com o package senior-platform-authentication-ui.
encryptionKey N/A Chave de criptografia contendo 32 caracteres alfanuméricos que será utilizada no momento de armazenar e ler dados sensíveis

Atenção: O parâmetro encryptionKey deverá ser sempre o mesmo, caso contrário não será possível a descriptografia dos dados.

Chamando um caso de uso #

Os casos de uso podem ser chamados conforme o exemplo a seguir:

final credentials = UserLogin(
  username: '{YOUR_USERNAME}',
  password: '{YOUR_PASSWORD}',
  scope: 'mobile',
);

final loginUsecase = LoginUsecase();
await loginUsecase(credentials);

ou de forma alternativa, podemos invocar direto o método call

await loginUsecase.call(credentials);

Observações #

Recomendamos utilizar apenas os casos de uso já implementados com as regras de negócio atreladas a autenticação do Senior X. Caso seja necessário alguma adaptação comunique seu contato de integração da Senior Sistemas.

3
likes
140
points
681
downloads

Publisher

verified publishersenior.com.br

Weekly Downloads

A package that make it easy to implement the Senior X authentication for Dart.

Homepage

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

cryptography, equatable, http

More

Packages that depend on senior_platform_authentication