TF-624 Use AuthenticationClient to Get/Refresh token and logout oidc
This commit is contained in:
@@ -25,6 +25,7 @@ import 'package:tmail_ui_user/features/login/data/datasource_impl/hive_account_d
|
|||||||
import 'package:tmail_ui_user/features/login/data/local/account_cache_manager.dart';
|
import 'package:tmail_ui_user/features/login/data/local/account_cache_manager.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/local/oidc_configuration_cache_manager.dart';
|
import 'package:tmail_ui_user/features/login/data/local/oidc_configuration_cache_manager.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/local/token_oidc_cache_manager.dart';
|
import 'package:tmail_ui_user/features/login/data/local/token_oidc_cache_manager.dart';
|
||||||
|
import 'package:tmail_ui_user/features/login/data/network/authentication_client/authentication_client_base.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/network/config/authorization_interceptors.dart';
|
import 'package:tmail_ui_user/features/login/data/network/config/authorization_interceptors.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/network/oidc_http_client.dart';
|
import 'package:tmail_ui_user/features/login/data/network/oidc_http_client.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/repository/account_repository_impl.dart';
|
import 'package:tmail_ui_user/features/login/data/repository/account_repository_impl.dart';
|
||||||
@@ -69,6 +70,7 @@ class EmailBindings extends BaseBindings {
|
|||||||
));
|
));
|
||||||
Get.lazyPut(() => AuthenticationOIDCDataSourceImpl(
|
Get.lazyPut(() => AuthenticationOIDCDataSourceImpl(
|
||||||
Get.find<OIDCHttpClient>(),
|
Get.find<OIDCHttpClient>(),
|
||||||
|
Get.find<AuthenticationClientBase>(),
|
||||||
Get.find<TokenOidcCacheManager>(),
|
Get.find<TokenOidcCacheManager>(),
|
||||||
Get.find<OidcConfigurationCacheManager>()
|
Get.find<OidcConfigurationCacheManager>()
|
||||||
));
|
));
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import 'package:tmail_ui_user/features/login/data/datasource_impl/hive_account_d
|
|||||||
import 'package:tmail_ui_user/features/login/data/local/account_cache_manager.dart';
|
import 'package:tmail_ui_user/features/login/data/local/account_cache_manager.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/local/oidc_configuration_cache_manager.dart';
|
import 'package:tmail_ui_user/features/login/data/local/oidc_configuration_cache_manager.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/local/token_oidc_cache_manager.dart';
|
import 'package:tmail_ui_user/features/login/data/local/token_oidc_cache_manager.dart';
|
||||||
|
import 'package:tmail_ui_user/features/login/data/network/authentication_client/authentication_client_base.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/network/config/authorization_interceptors.dart';
|
import 'package:tmail_ui_user/features/login/data/network/config/authorization_interceptors.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/network/oidc_http_client.dart';
|
import 'package:tmail_ui_user/features/login/data/network/oidc_http_client.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/repository/account_repository_impl.dart';
|
import 'package:tmail_ui_user/features/login/data/repository/account_repository_impl.dart';
|
||||||
@@ -61,6 +62,7 @@ class HomeBindings extends BaseBindings {
|
|||||||
));
|
));
|
||||||
Get.lazyPut(() => AuthenticationOIDCDataSourceImpl(
|
Get.lazyPut(() => AuthenticationOIDCDataSourceImpl(
|
||||||
Get.find<OIDCHttpClient>(),
|
Get.find<OIDCHttpClient>(),
|
||||||
|
Get.find<AuthenticationClientBase>(),
|
||||||
Get.find<TokenOidcCacheManager>(),
|
Get.find<TokenOidcCacheManager>(),
|
||||||
Get.find<OidcConfigurationCacheManager>()
|
Get.find<OidcConfigurationCacheManager>()
|
||||||
));
|
));
|
||||||
|
|||||||
@@ -2,16 +2,19 @@ import 'package:model/model.dart';
|
|||||||
import 'package:tmail_ui_user/features/login/data/datasource/authentication_oidc_datasource.dart';
|
import 'package:tmail_ui_user/features/login/data/datasource/authentication_oidc_datasource.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/local/oidc_configuration_cache_manager.dart';
|
import 'package:tmail_ui_user/features/login/data/local/oidc_configuration_cache_manager.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/local/token_oidc_cache_manager.dart';
|
import 'package:tmail_ui_user/features/login/data/local/token_oidc_cache_manager.dart';
|
||||||
|
import 'package:tmail_ui_user/features/login/data/network/authentication_client/authentication_client_base.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/network/oidc_http_client.dart';
|
import 'package:tmail_ui_user/features/login/data/network/oidc_http_client.dart';
|
||||||
|
|
||||||
class AuthenticationOIDCDataSourceImpl extends AuthenticationOIDCDataSource {
|
class AuthenticationOIDCDataSourceImpl extends AuthenticationOIDCDataSource {
|
||||||
|
|
||||||
final OIDCHttpClient _oidcHttpClient;
|
final OIDCHttpClient _oidcHttpClient;
|
||||||
|
final AuthenticationClientBase _authenticationClient;
|
||||||
final TokenOidcCacheManager _tokenOidcCacheManager;
|
final TokenOidcCacheManager _tokenOidcCacheManager;
|
||||||
final OidcConfigurationCacheManager _oidcConfigurationCacheManager;
|
final OidcConfigurationCacheManager _oidcConfigurationCacheManager;
|
||||||
|
|
||||||
AuthenticationOIDCDataSourceImpl(
|
AuthenticationOIDCDataSourceImpl(
|
||||||
this._oidcHttpClient,
|
this._oidcHttpClient,
|
||||||
|
this._authenticationClient,
|
||||||
this._tokenOidcCacheManager,
|
this._tokenOidcCacheManager,
|
||||||
this._oidcConfigurationCacheManager);
|
this._oidcConfigurationCacheManager);
|
||||||
|
|
||||||
@@ -37,7 +40,7 @@ class AuthenticationOIDCDataSourceImpl extends AuthenticationOIDCDataSource {
|
|||||||
@override
|
@override
|
||||||
Future<TokenOIDC> getTokenOIDC(String clientId, String redirectUrl, String discoveryUrl, List<String> scopes) {
|
Future<TokenOIDC> getTokenOIDC(String clientId, String redirectUrl, String discoveryUrl, List<String> scopes) {
|
||||||
return Future.sync(() async {
|
return Future.sync(() async {
|
||||||
return await _oidcHttpClient.getTokenOIDC(clientId, redirectUrl, discoveryUrl, scopes);
|
return await _authenticationClient.getTokenOIDC(clientId, redirectUrl, discoveryUrl, scopes);
|
||||||
}).catchError((error) {
|
}).catchError((error) {
|
||||||
throw error;
|
throw error;
|
||||||
});
|
});
|
||||||
@@ -66,14 +69,14 @@ class AuthenticationOIDCDataSourceImpl extends AuthenticationOIDCDataSource {
|
|||||||
@override
|
@override
|
||||||
Future<TokenOIDC> refreshingTokensOIDC(String clientId, String redirectUrl,
|
Future<TokenOIDC> refreshingTokensOIDC(String clientId, String redirectUrl,
|
||||||
String discoveryUrl, List<String> scopes, String refreshToken) {
|
String discoveryUrl, List<String> scopes, String refreshToken) {
|
||||||
return _oidcHttpClient.refreshingTokensOIDC(
|
return _authenticationClient.refreshingTokensOIDC(
|
||||||
clientId, redirectUrl, discoveryUrl, scopes, refreshToken);
|
clientId, redirectUrl, discoveryUrl, scopes, refreshToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<bool> logout(TokenId tokenId, OIDCConfiguration config) {
|
Future<bool> logout(TokenId tokenId, OIDCConfiguration config) {
|
||||||
return Future.sync(() async {
|
return Future.sync(() async {
|
||||||
return await _oidcHttpClient.logoutOidc(tokenId, config);
|
return await _authenticationClient.logoutOidc(tokenId, config);
|
||||||
}).catchError((error) {
|
}).catchError((error) {
|
||||||
throw error;
|
throw error;
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -10,12 +10,12 @@ import 'package:model/oidc/token.dart';
|
|||||||
import 'package:model/oidc/token_oidc.dart';
|
import 'package:model/oidc/token_oidc.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/local/account_cache_manager.dart';
|
import 'package:tmail_ui_user/features/login/data/local/account_cache_manager.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/local/token_oidc_cache_manager.dart';
|
import 'package:tmail_ui_user/features/login/data/local/token_oidc_cache_manager.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/network/oidc_http_client.dart';
|
import 'package:tmail_ui_user/features/login/data/network/authentication_client/authentication_client_base.dart';
|
||||||
|
|
||||||
class AuthorizationInterceptors extends InterceptorsWrapper {
|
class AuthorizationInterceptors extends InterceptorsWrapper {
|
||||||
|
|
||||||
final Dio _dio;
|
final Dio _dio;
|
||||||
final OIDCHttpClient _oidcHttpClient;
|
final AuthenticationClientBase _authenticationClient;
|
||||||
final TokenOidcCacheManager _tokenOidcCacheManager;
|
final TokenOidcCacheManager _tokenOidcCacheManager;
|
||||||
final AccountCacheManager _accountCacheManager;
|
final AccountCacheManager _accountCacheManager;
|
||||||
|
|
||||||
@@ -26,7 +26,7 @@ class AuthorizationInterceptors extends InterceptorsWrapper {
|
|||||||
|
|
||||||
AuthorizationInterceptors(
|
AuthorizationInterceptors(
|
||||||
this._dio,
|
this._dio,
|
||||||
this._oidcHttpClient,
|
this._authenticationClient,
|
||||||
this._tokenOidcCacheManager,
|
this._tokenOidcCacheManager,
|
||||||
this._accountCacheManager
|
this._accountCacheManager
|
||||||
);
|
);
|
||||||
@@ -79,7 +79,7 @@ class AuthorizationInterceptors extends InterceptorsWrapper {
|
|||||||
if ((_isTokenExpired() || err.response?.statusCode == 401) &&
|
if ((_isTokenExpired() || err.response?.statusCode == 401) &&
|
||||||
_isAuthenticationOidcValid()) {
|
_isAuthenticationOidcValid()) {
|
||||||
try {
|
try {
|
||||||
final newToken = await _oidcHttpClient.refreshingTokensOIDC(
|
final newToken = await _authenticationClient.refreshingTokensOIDC(
|
||||||
_configOIDC!.clientId,
|
_configOIDC!.clientId,
|
||||||
_configOIDC!.redirectUrl,
|
_configOIDC!.redirectUrl,
|
||||||
_configOIDC!.discoveryUrl,
|
_configOIDC!.discoveryUrl,
|
||||||
|
|||||||
@@ -4,26 +4,19 @@ import 'dart:convert';
|
|||||||
import 'package:core/data/model/query/query_parameter.dart';
|
import 'package:core/data/model/query/query_parameter.dart';
|
||||||
import 'package:core/data/network/dio_client.dart';
|
import 'package:core/data/network/dio_client.dart';
|
||||||
import 'package:core/utils/app_logger.dart';
|
import 'package:core/utils/app_logger.dart';
|
||||||
import 'package:flutter_appauth/flutter_appauth.dart';
|
|
||||||
import 'package:model/oidc/oidc_configuration.dart';
|
import 'package:model/oidc/oidc_configuration.dart';
|
||||||
import 'package:model/oidc/request/oidc_request.dart';
|
import 'package:model/oidc/request/oidc_request.dart';
|
||||||
import 'package:model/oidc/response/oidc_response.dart';
|
import 'package:model/oidc/response/oidc_response.dart';
|
||||||
import 'package:model/oidc/token_id.dart';
|
|
||||||
import 'package:model/oidc/token_oidc.dart';
|
|
||||||
import 'package:tmail_ui_user/features/login/data/extensions/authentication_token_extension.dart';
|
|
||||||
import 'package:tmail_ui_user/features/login/data/extensions/service_path_extension.dart';
|
import 'package:tmail_ui_user/features/login/data/extensions/service_path_extension.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/extensions/token_response_extension.dart';
|
|
||||||
import 'package:tmail_ui_user/features/login/data/network/config/oidc_constant.dart';
|
import 'package:tmail_ui_user/features/login/data/network/config/oidc_constant.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/network/endpoint.dart';
|
import 'package:tmail_ui_user/features/login/data/network/endpoint.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/network/oidc_error.dart';
|
import 'package:tmail_ui_user/features/login/data/network/oidc_error.dart';
|
||||||
import 'package:tmail_ui_user/features/login/domain/exceptions/authentication_exception.dart';
|
|
||||||
|
|
||||||
class OIDCHttpClient {
|
class OIDCHttpClient {
|
||||||
|
|
||||||
final DioClient _dioClient;
|
final DioClient _dioClient;
|
||||||
final FlutterAppAuth _appAuth;
|
|
||||||
|
|
||||||
OIDCHttpClient(this._dioClient, this._appAuth);
|
OIDCHttpClient(this._dioClient);
|
||||||
|
|
||||||
Future<OIDCResponse?> checkOIDCIsAvailable(OIDCRequest oidcRequest) async {
|
Future<OIDCResponse?> checkOIDCIsAvailable(OIDCRequest oidcRequest) async {
|
||||||
final result = await _dioClient.get(
|
final result = await _dioClient.get(
|
||||||
@@ -54,59 +47,4 @@ class OIDCHttpClient {
|
|||||||
scopes: OIDCConstant.oidcScope
|
scopes: OIDCConstant.oidcScope
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<TokenOIDC> getTokenOIDC(String clientId, String redirectUrl, String discoveryUrl, List<String> scopes) async {
|
|
||||||
final authorizationTokenResponse = await _appAuth.authorizeAndExchangeCode(AuthorizationTokenRequest(
|
|
||||||
clientId,
|
|
||||||
redirectUrl,
|
|
||||||
discoveryUrl: discoveryUrl,
|
|
||||||
scopes: scopes,
|
|
||||||
preferEphemeralSession: true));
|
|
||||||
|
|
||||||
log('OIDCHttpClient::getTokenOIDC(): token: ${authorizationTokenResponse?.accessToken}');
|
|
||||||
|
|
||||||
if (authorizationTokenResponse != null) {
|
|
||||||
final tokenOIDC = authorizationTokenResponse.toTokenOIDC();
|
|
||||||
if (tokenOIDC.isTokenValid()) {
|
|
||||||
return tokenOIDC;
|
|
||||||
} else {
|
|
||||||
throw AccessTokenInvalidException();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
throw NotFoundAccessTokenException();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Future<TokenOIDC> refreshingTokensOIDC(String clientId, String redirectUrl,
|
|
||||||
String discoveryUrl, List<String> scopes, String refreshToken) async {
|
|
||||||
final tokenResponse = await _appAuth.token(TokenRequest(
|
|
||||||
clientId,
|
|
||||||
redirectUrl,
|
|
||||||
discoveryUrl: discoveryUrl,
|
|
||||||
refreshToken: refreshToken,
|
|
||||||
scopes: scopes));
|
|
||||||
|
|
||||||
log('OIDCHttpClient::refreshingTokensOIDC(): refreshToken: ${tokenResponse?.accessToken}');
|
|
||||||
|
|
||||||
if (tokenResponse != null) {
|
|
||||||
final tokenOIDC = tokenResponse.toTokenOIDC();
|
|
||||||
if (tokenOIDC.isTokenValid()) {
|
|
||||||
return tokenOIDC;
|
|
||||||
} else {
|
|
||||||
throw AccessTokenInvalidException();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
throw NotFoundAccessTokenException();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Future<bool> logoutOidc(TokenId tokenId, OIDCConfiguration config) async {
|
|
||||||
final endSession = await _appAuth.endSession(EndSessionRequest(
|
|
||||||
idTokenHint: tokenId.uuid,
|
|
||||||
postLogoutRedirectUrl: config.redirectUrl,
|
|
||||||
discoveryUrl: config.discoveryUrl
|
|
||||||
));
|
|
||||||
log('OIDCHttpClient::logoutOidc(): ${endSession?.state}');
|
|
||||||
return endSession?.state?.isNotEmpty == true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -11,6 +11,7 @@ import 'package:tmail_ui_user/features/login/data/datasource_impl/hive_account_d
|
|||||||
import 'package:tmail_ui_user/features/login/data/local/account_cache_manager.dart';
|
import 'package:tmail_ui_user/features/login/data/local/account_cache_manager.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/local/oidc_configuration_cache_manager.dart';
|
import 'package:tmail_ui_user/features/login/data/local/oidc_configuration_cache_manager.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/local/token_oidc_cache_manager.dart';
|
import 'package:tmail_ui_user/features/login/data/local/token_oidc_cache_manager.dart';
|
||||||
|
import 'package:tmail_ui_user/features/login/data/network/authentication_client/authentication_client_base.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/network/config/authorization_interceptors.dart';
|
import 'package:tmail_ui_user/features/login/data/network/config/authorization_interceptors.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/network/oidc_http_client.dart';
|
import 'package:tmail_ui_user/features/login/data/network/oidc_http_client.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/repository/account_repository_impl.dart';
|
import 'package:tmail_ui_user/features/login/data/repository/account_repository_impl.dart';
|
||||||
@@ -53,6 +54,7 @@ class LoginBindings extends BaseBindings {
|
|||||||
Get.lazyPut(() => AuthenticationDataSourceImpl());
|
Get.lazyPut(() => AuthenticationDataSourceImpl());
|
||||||
Get.lazyPut(() => AuthenticationOIDCDataSourceImpl(
|
Get.lazyPut(() => AuthenticationOIDCDataSourceImpl(
|
||||||
Get.find<OIDCHttpClient>(),
|
Get.find<OIDCHttpClient>(),
|
||||||
|
Get.find<AuthenticationClientBase>(),
|
||||||
Get.find<TokenOidcCacheManager>(),
|
Get.find<TokenOidcCacheManager>(),
|
||||||
Get.find<OidcConfigurationCacheManager>()
|
Get.find<OidcConfigurationCacheManager>()
|
||||||
));
|
));
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import 'package:tmail_ui_user/features/login/data/datasource_impl/hive_account_d
|
|||||||
import 'package:tmail_ui_user/features/login/data/local/account_cache_manager.dart';
|
import 'package:tmail_ui_user/features/login/data/local/account_cache_manager.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/local/oidc_configuration_cache_manager.dart';
|
import 'package:tmail_ui_user/features/login/data/local/oidc_configuration_cache_manager.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/local/token_oidc_cache_manager.dart';
|
import 'package:tmail_ui_user/features/login/data/local/token_oidc_cache_manager.dart';
|
||||||
|
import 'package:tmail_ui_user/features/login/data/network/authentication_client/authentication_client_base.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/network/oidc_http_client.dart';
|
import 'package:tmail_ui_user/features/login/data/network/oidc_http_client.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/repository/account_repository_impl.dart';
|
import 'package:tmail_ui_user/features/login/data/repository/account_repository_impl.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/repository/authentication_oidc_repository_impl.dart';
|
import 'package:tmail_ui_user/features/login/data/repository/authentication_oidc_repository_impl.dart';
|
||||||
@@ -111,6 +112,7 @@ class MailboxDashBoardBindings extends BaseBindings {
|
|||||||
Get.lazyPut(() => HiveAccountDatasourceImpl(Get.find<AccountCacheManager>()));
|
Get.lazyPut(() => HiveAccountDatasourceImpl(Get.find<AccountCacheManager>()));
|
||||||
Get.lazyPut(() => AuthenticationOIDCDataSourceImpl(
|
Get.lazyPut(() => AuthenticationOIDCDataSourceImpl(
|
||||||
Get.find<OIDCHttpClient>(),
|
Get.find<OIDCHttpClient>(),
|
||||||
|
Get.find<AuthenticationClientBase>(),
|
||||||
Get.find<TokenOidcCacheManager>(),
|
Get.find<TokenOidcCacheManager>(),
|
||||||
Get.find<OidcConfigurationCacheManager>()
|
Get.find<OidcConfigurationCacheManager>()
|
||||||
));
|
));
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import 'package:tmail_ui_user/features/login/data/datasource_impl/hive_account_d
|
|||||||
import 'package:tmail_ui_user/features/login/data/local/account_cache_manager.dart';
|
import 'package:tmail_ui_user/features/login/data/local/account_cache_manager.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/local/oidc_configuration_cache_manager.dart';
|
import 'package:tmail_ui_user/features/login/data/local/oidc_configuration_cache_manager.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/local/token_oidc_cache_manager.dart';
|
import 'package:tmail_ui_user/features/login/data/local/token_oidc_cache_manager.dart';
|
||||||
|
import 'package:tmail_ui_user/features/login/data/network/authentication_client/authentication_client_base.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/network/oidc_http_client.dart';
|
import 'package:tmail_ui_user/features/login/data/network/oidc_http_client.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/repository/account_repository_impl.dart';
|
import 'package:tmail_ui_user/features/login/data/repository/account_repository_impl.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/repository/authentication_oidc_repository_impl.dart';
|
import 'package:tmail_ui_user/features/login/data/repository/authentication_oidc_repository_impl.dart';
|
||||||
@@ -48,6 +49,7 @@ class ManageAccountDashBoardBindings extends BaseBindings {
|
|||||||
Get.lazyPut(() => HiveAccountDatasourceImpl(Get.find<AccountCacheManager>()));
|
Get.lazyPut(() => HiveAccountDatasourceImpl(Get.find<AccountCacheManager>()));
|
||||||
Get.lazyPut(() => AuthenticationOIDCDataSourceImpl(
|
Get.lazyPut(() => AuthenticationOIDCDataSourceImpl(
|
||||||
Get.find<OIDCHttpClient>(),
|
Get.find<OIDCHttpClient>(),
|
||||||
|
Get.find<AuthenticationClientBase>(),
|
||||||
Get.find<TokenOidcCacheManager>(),
|
Get.find<TokenOidcCacheManager>(),
|
||||||
Get.find<OidcConfigurationCacheManager>()
|
Get.find<OidcConfigurationCacheManager>()
|
||||||
));
|
));
|
||||||
|
|||||||
@@ -11,8 +11,10 @@ import 'package:tmail_ui_user/features/composer/data/network/composer_api.dart';
|
|||||||
import 'package:tmail_ui_user/features/email/data/network/email_api.dart';
|
import 'package:tmail_ui_user/features/email/data/network/email_api.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/local/account_cache_manager.dart';
|
import 'package:tmail_ui_user/features/login/data/local/account_cache_manager.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/local/token_oidc_cache_manager.dart';
|
import 'package:tmail_ui_user/features/login/data/local/token_oidc_cache_manager.dart';
|
||||||
|
import 'package:tmail_ui_user/features/login/data/network/authentication_client/authentication_client_base.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/network/config/authorization_interceptors.dart';
|
import 'package:tmail_ui_user/features/login/data/network/config/authorization_interceptors.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/network/oidc_http_client.dart';
|
import 'package:tmail_ui_user/features/login/data/network/oidc_http_client.dart';
|
||||||
|
import 'package:tmail_ui_user/features/login/data/utils/library_platform/app_auth_plugin/app_auth_plugin.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/data/network/mailbox_api.dart';
|
import 'package:tmail_ui_user/features/mailbox/data/network/mailbox_api.dart';
|
||||||
import 'package:tmail_ui_user/features/session/data/network/session_api.dart';
|
import 'package:tmail_ui_user/features/session/data/network/session_api.dart';
|
||||||
import 'package:tmail_ui_user/features/thread/data/network/thread_api.dart';
|
import 'package:tmail_ui_user/features/thread/data/network/thread_api.dart';
|
||||||
@@ -39,7 +41,9 @@ class NetworkBindings extends Bindings {
|
|||||||
Get.put(Dio(Get.find<BaseOptions>()));
|
Get.put(Dio(Get.find<BaseOptions>()));
|
||||||
Get.put(DioClient(Get.find<Dio>()));
|
Get.put(DioClient(Get.find<Dio>()));
|
||||||
Get.put(const FlutterAppAuth());
|
Get.put(const FlutterAppAuth());
|
||||||
Get.put(OIDCHttpClient(Get.find<DioClient>(), Get.find<FlutterAppAuth>()));
|
Get.put(AppAuthWebPlugin());
|
||||||
|
Get.put(OIDCHttpClient(Get.find<DioClient>()));
|
||||||
|
Get.put(AuthenticationClientBase());
|
||||||
_bindingInterceptors();
|
_bindingInterceptors();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -47,7 +51,7 @@ class NetworkBindings extends Bindings {
|
|||||||
Get.put(DynamicUrlInterceptors());
|
Get.put(DynamicUrlInterceptors());
|
||||||
Get.put(AuthorizationInterceptors(
|
Get.put(AuthorizationInterceptors(
|
||||||
Get.find<Dio>(),
|
Get.find<Dio>(),
|
||||||
Get.find<OIDCHttpClient>(),
|
Get.find<AuthenticationClientBase>(),
|
||||||
Get.find<TokenOidcCacheManager>(),
|
Get.find<TokenOidcCacheManager>(),
|
||||||
Get.find<AccountCacheManager>()
|
Get.find<AccountCacheManager>()
|
||||||
));
|
));
|
||||||
|
|||||||
Reference in New Issue
Block a user