senior_platform_authentication 0.0.3
senior_platform_authentication: ^0.0.3 copied to clipboard
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()}');
}
}