If no refreshToken return, maybe the old refreshToken still available
(cherry picked from commit ad0806651d671b350a1dda952e399c9557c2c4d7)
This commit is contained in:
@@ -4,11 +4,11 @@ import 'package:model/model.dart';
|
|||||||
|
|
||||||
extension TokenResponseExtension on TokenResponse {
|
extension TokenResponseExtension on TokenResponse {
|
||||||
|
|
||||||
TokenOIDC toTokenOIDC() {
|
TokenOIDC toTokenOIDC({String? maybeAvailableRefreshToken}) {
|
||||||
return TokenOIDC(
|
return TokenOIDC(
|
||||||
accessToken ?? '',
|
accessToken ?? '',
|
||||||
TokenId(idToken ?? ''),
|
TokenId(idToken ?? ''),
|
||||||
refreshToken ?? '',
|
refreshToken ?? maybeAvailableRefreshToken ?? '',
|
||||||
expiredTime: accessTokenExpirationDateTime ?? DateTime.now());
|
expiredTime: accessTokenExpirationDateTime ?? DateTime.now());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+2
-2
@@ -7,10 +7,10 @@ import 'package:model/oidc/response/oidc_discovery_response.dart';
|
|||||||
import 'package:model/oidc/token_id.dart';
|
import 'package:model/oidc/token_id.dart';
|
||||||
import 'package:model/oidc/token_oidc.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/authentication_token_extension.dart';
|
||||||
import 'package:tmail_ui_user/features/login/domain/extensions/oidc_configuration_extensions.dart';
|
|
||||||
import 'package:tmail_ui_user/features/login/data/extensions/token_response_extension.dart';
|
import 'package:tmail_ui_user/features/login/data/extensions/token_response_extension.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/authentication_client/authentication_client_base.dart';
|
||||||
import 'package:tmail_ui_user/features/login/domain/exceptions/authentication_exception.dart';
|
import 'package:tmail_ui_user/features/login/domain/exceptions/authentication_exception.dart';
|
||||||
|
import 'package:tmail_ui_user/features/login/domain/extensions/oidc_configuration_extensions.dart';
|
||||||
|
|
||||||
class AuthenticationClientMobile implements AuthenticationClientBase {
|
class AuthenticationClientMobile implements AuthenticationClientBase {
|
||||||
|
|
||||||
@@ -75,7 +75,7 @@ class AuthenticationClientMobile implements AuthenticationClientBase {
|
|||||||
log('AuthenticationClientMobile::refreshingTokensOIDC(): refreshToken: ${tokenResponse?.accessToken}');
|
log('AuthenticationClientMobile::refreshingTokensOIDC(): refreshToken: ${tokenResponse?.accessToken}');
|
||||||
|
|
||||||
if (tokenResponse != null) {
|
if (tokenResponse != null) {
|
||||||
final tokenOIDC = tokenResponse.toTokenOIDC();
|
final tokenOIDC = tokenResponse.toTokenOIDC(maybeAvailableRefreshToken: refreshToken);
|
||||||
if (tokenOIDC.isTokenValid()) {
|
if (tokenOIDC.isTokenValid()) {
|
||||||
return tokenOIDC;
|
return tokenOIDC;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
+7
-7
@@ -1,19 +1,19 @@
|
|||||||
|
|
||||||
import 'package:core/utils/app_logger.dart';
|
import 'package:core/utils/app_logger.dart';
|
||||||
|
import 'package:flutter_appauth_platform_interface/flutter_appauth_platform_interface.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
import 'package:model/oidc/oidc_configuration.dart';
|
||||||
import 'package:model/oidc/response/oidc_discovery_response.dart';
|
import 'package:model/oidc/response/oidc_discovery_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/authentication_token_extension.dart';
|
||||||
import 'package:tmail_ui_user/features/login/domain/extensions/oidc_configuration_extensions.dart';
|
|
||||||
import 'package:tmail_ui_user/features/login/data/extensions/token_response_extension.dart';
|
import 'package:tmail_ui_user/features/login/data/extensions/token_response_extension.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/oidc_constant.dart';
|
import 'package:tmail_ui_user/features/login/data/network/config/oidc_constant.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/login/data/utils/library_platform/app_auth_plugin/app_auth_plugin.dart';
|
||||||
import 'package:tmail_ui_user/features/login/domain/exceptions/authentication_exception.dart';
|
import 'package:tmail_ui_user/features/login/domain/exceptions/authentication_exception.dart';
|
||||||
|
import 'package:tmail_ui_user/features/login/domain/extensions/oidc_configuration_extensions.dart';
|
||||||
import 'package:universal_html/html.dart' as html;
|
import 'package:universal_html/html.dart' as html;
|
||||||
import 'package:tmail_ui_user/features/login/data/network/authentication_client/authentication_client_base.dart';
|
|
||||||
import 'package:flutter_appauth_platform_interface/flutter_appauth_platform_interface.dart';
|
|
||||||
import 'package:model/oidc/oidc_configuration.dart';
|
|
||||||
import 'package:model/oidc/token_id.dart';
|
|
||||||
import 'package:model/oidc/token_oidc.dart';
|
|
||||||
|
|
||||||
class AuthenticationClientWeb implements AuthenticationClientBase {
|
class AuthenticationClientWeb implements AuthenticationClientBase {
|
||||||
|
|
||||||
@@ -74,7 +74,7 @@ class AuthenticationClientWeb implements AuthenticationClientBase {
|
|||||||
scopes: scopes));
|
scopes: scopes));
|
||||||
|
|
||||||
if (tokenResponse != null) {
|
if (tokenResponse != null) {
|
||||||
final tokenOIDC = tokenResponse.toTokenOIDC();
|
final tokenOIDC = tokenResponse.toTokenOIDC(maybeAvailableRefreshToken: refreshToken);
|
||||||
if (tokenOIDC.isTokenValid()) {
|
if (tokenOIDC.isTokenValid()) {
|
||||||
return tokenOIDC;
|
return tokenOIDC;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user