Files
workavia-mail-front/lib/features/login/data/datasource/authentication_oidc_datasource.dart
T
Dat PHAM HOANG c3a17dbf37 [SLO] Add discoverOIDC method
(cherry picked from commit c99efecb34c56bb40a584923a0861e15fb111986)
2023-04-14 17:12:34 +07:00

41 lines
1.2 KiB
Dart

import 'package:model/model.dart';
abstract class AuthenticationOIDCDataSource {
Future<OIDCResponse> checkOIDCIsAvailable(OIDCRequest oidcRequest);
Future<OIDCConfiguration> getOIDCConfiguration(OIDCResponse oidcResponse);
Future<OIDCDiscoveryResponse> discoverOIDC(OIDCConfiguration oidcConfiguration);
Future<TokenOIDC> getTokenOIDC(String clientId, String redirectUrl, String discoveryUrl, List<String> scopes);
Future<void> persistTokenOIDC(TokenOIDC tokenOidc);
Future<void> deleteTokenOIDC();
Future<TokenOIDC> getStoredTokenOIDC(String tokenIdHash);
Future<void> persistAuthorityOidc(String authority);
Future<void> deleteAuthorityOidc();
Future<OIDCConfiguration> getStoredOidcConfiguration();
Future<TokenOIDC> refreshingTokensOIDC(
String clientId,
String redirectUrl,
String discoveryUrl,
List<String> scopes,
String refreshToken);
Future<bool> logout(TokenId tokenId, OIDCConfiguration config, OIDCDiscoveryResponse oidcRescovery);
Future<void> authenticateOidcOnBrowser(
String clientId,
String redirectUrl,
String discoveryUrl,
List<String> scopes);
Future<String?> getAuthenticationInfo();
}