TF-624 Check and get oidc configuration on browser

This commit is contained in:
dab246
2022-06-07 18:09:32 +07:00
committed by Dat H. Pham
parent 9092e30b96
commit 217a3ccc9e
6 changed files with 80 additions and 3 deletions
@@ -123,6 +123,28 @@ class LoginController extends GetxController {
}
}
void handleSSOPressed() async {
final baseUri = _parseUri(AppConfig.baseUrl);
if (baseUri != null) {
log('LoginController::handleSSOPressed(): baseUri: ${baseUri.toString()}');
loginState.value = LoginState(Right(LoginLoadingAction()));
await _checkOIDCIsAvailableInteractor
.execute(OIDCRequest(baseUrl: baseUri.toString(), resourceUrl: baseUri.origin))
.then((response) => response.fold(
(failure) => loginState.value = LoginState(Left(LoginSSONotAvailableAction())),
(success) {
if (success is CheckOIDCIsAvailableSuccess) {
loginState.value = LoginState(Right(success));
_oidcResponse = success.oidcResponse;
_getOIDCConfiguration();
} else {
loginState.value = LoginState(Left(LoginSSONotAvailableAction()));
}
}));
}
}
void _getOIDCConfiguration() async {
loginState.value = LoginState(Right(LoginLoadingAction()));
if (_oidcResponse != null) {