senior_platform_authentication 0.0.2
senior_platform_authentication: ^0.0.2 copied to clipboard
Senior Platform authentication lib 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();
Entretanto é possível sobrescrever para um ambiente específico utilizando o método configure da seguinte forma:
SeniorAuthentication.initialize(
enableLoginOffline: false,
restUrl: '{DESIRED_BASE_URL}',
);
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.