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