senior_platform_authentication 9.0.0
senior_platform_authentication: ^9.0.0 copied to clipboard
A package that make it easy to implement the Senior X authentication for Dart.
example/main.dart
import 'package:senior_platform_authentication/senior_platform_authentication.dart';
void main() async {
final getConnectionStatus = GetConnectivityStatusUsecase();
final connStatus = await getConnectionStatus(NoParams());
print('ESTÁ CONECTADO: $connStatus.');
final credentials = UserLogin(
username: '{YOUR_USERNAME}',
password: '{YOUR_PASSWORD}',
scope: 'mobile',
);
final tenantLogin = TenantLogin(
userName: '{YOUR_USERNAME}',
tenantDomain: '{YOUR_TENANT}',
);
SeniorAuthentication.initialize(
platformEnvironment: PlatformEnvironment.production,
encryptionKey: SeniorAuthentication.encryptionKey,
);
final getRecaptchaUrlUsecase = GetRecaptchaUrlUsecase();
final loginUsecase = LoginUsecase();
final getUserUsecase = GetUserUsecase();
final logoutOnlineUsecase = LogoutUsecase();
final getTenantLoginSettingsUsecase = GetTenantLoginSettingsUsecase();
final refreshTokenUsecase = RefreshTokenUsecase();
try {
final url = await getRecaptchaUrlUsecase(NoParams());
print('RECAPTCHA URL >>>> $url');
final authenticationResponse = await loginUsecase(credentials);
print('AUTHENTICATION RESPONSE >>> ${authenticationResponse.toString()}');
final getUserInput = GetUserInput(
accessToken: authenticationResponse.token?.accessToken ?? '',
username: authenticationResponse.token?.username ?? '',
includePhoto: false,
);
final user = await getUserUsecase(getUserInput);
print('USER >>> ${user.toString()}');
final refreshToken = RefreshToken(
token: authenticationResponse.token?.refreshToken ?? '',
scope: authenticationResponse.token?.accessToken ?? '',
tenant: user.tenantName);
final refreshAuthenticationResponse =
await refreshTokenUsecase(refreshToken);
print('REFRESH AUTHENTICATION RESPONSE >>> $refreshAuthenticationResponse');
// Call method is optional when calling usecase to be executed.
final logout = await logoutOnlineUsecase
.call(refreshAuthenticationResponse.token?.accessToken ?? '');
print('LOGOUT >>> $logout');
final tenantLoginSettings =
await getTenantLoginSettingsUsecase.call(tenantLogin);
print('TENANT LOGIN SETTINGS >>> $tenantLoginSettings');
} on ServerException catch (e) {
print('SERVER EXCEPTION >>> ${e.toString()}');
} on UnauthorizedException catch (e) {
print('UNAUTHORIZED EXCEPTION >>> ${e.toString()}');
} on BadRequestException catch (e) {
print('BAD REQUEST EXCEPTION EXCEPTION >>> ${e.toString()}');
} on TenantNotFoundException catch (e) {
print('TENANT NOT FOUND EXCEPTION >>> ${e.toString()}');
} on UnknownException catch (e) {
print('UNKNOWN EXCEPTION >>> ${e.toString()}');
}
}