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

outdated

Senior Platform authentication lib for dart.

example/main.dart

import 'package:senior_platform_authentication/senior_platform_authentication.dart';

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

  final tenantLogin = TenantLogin(
    tenantDomain: '{YOUR_TENANT}',
  );

  SeniorAuthentication.initialize(
    enableLoginOffline: false,
    restUrl: '{DESIRED_BASE_URL}',
  );

  final getRecaptchaUrlUsecase = GetRecaptchaUrlUsecase();
  final loginUsecase = LoginUsecase();
  final getUserUsecase = GetUserUsecase();
  final logoutUsecase = LogoutUsecase();
  final getTenantLoginSettingsUsecase = GetTenantLoginSettingsUsecase();
  final refreshTokenUsecase = RefreshTokenUsecase();
  final getTenantSettingsUsecase = GetTenantSettingsUsecase();

  try {
    final url = await getRecaptchaUrlUsecase(NoParams());
    print('RECAPTCHA URL >>>> $url');

    final authenticationResponse = await loginUsecase(credentials);
    print('AUTHENTICATION RESPONSE >>> ${authenticationResponse.toString()}');

    final tenantSettings = await getTenantSettingsUsecase(
        authenticationResponse.token?.accessToken ?? '');
    print('TENANT SETTINGS >>> ${tenantSettings.toString()}');

    final user =
        await getUserUsecase(authenticationResponse.token?.accessToken ?? '');
    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 logoutUsecase
        .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()}');
  }
}
3
likes
0
points
922
downloads

Publisher

verified publishersenior.com.br

Weekly Downloads

Senior Platform authentication lib for dart.

Homepage

License

unknown (license)

Dependencies

equatable, http

More

Packages that depend on senior_platform_authentication