senior_platform_authentication 5.0.0 copy "senior_platform_authentication: ^5.0.0" to clipboard
senior_platform_authentication: ^5.0.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();

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

SeniorAuthentication.initialize(
  platformEnvironment: PlatformEnvironment.homolog,
);

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.
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.

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.

2
likes
110
pub points
41%
popularity

Publisher

verified publishersenior.com.br

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