logout static method
Logs the user out, based on the given tokenId. Will automatically grab the one from Session by default Returns true on successful logout
Implementation
static Future<bool> logout(
{String? tokenId,
String? redirectUrl,
String? clientId,
String? realm,
String? authServerUrl}) async {
if (!_checkFields(redirectUrl, clientId, realm, authServerUrl)) {
return false;
}
tokenId ??= Session.tokenResponse?.idToken;
if (tokenId == null) {
_logger.error("Don't have a token id!");
Session.onLogout();
return false;
}
_logger.debug("Discovery URL is: $discoveryUrl");
EndSessionResponse? endSessionResponse =
await _appAuth.endSession(EndSessionRequest(
idTokenHint: tokenId,
postLogoutRedirectUrl: _redirectUrl,
discoveryUrl: discoveryUrl,
));
if (endSessionResponse != null) {
_logger.debug("End Session State: ${endSessionResponse.state}");
Session.onLogout();
return true;
}
_logger.error("End Session response was null!");
Session.onLogout();
return false;
}