TF-606 Implement refresh token when access token expired
This commit is contained in:
@@ -1,17 +1,33 @@
|
||||
|
||||
import 'package:core/utils/app_logger.dart';
|
||||
import 'package:equatable/equatable.dart';
|
||||
import 'package:model/oidc/token_id.dart';
|
||||
|
||||
class Token extends Equatable {
|
||||
const Token(this.token, this.tokenId);
|
||||
class Token with EquatableMixin {
|
||||
|
||||
final String token;
|
||||
final TokenId tokenId;
|
||||
final String refreshToken;
|
||||
final DateTime? expiredTime;
|
||||
|
||||
const Token(this.token, this.tokenId, this.refreshToken, {this.expiredTime});
|
||||
|
||||
@override
|
||||
List<Object> get props => [token, tokenId];
|
||||
List<Object?> get props => [token, tokenId, refreshToken, expiredTime];
|
||||
}
|
||||
|
||||
extension TokenExtension on Token {
|
||||
bool isTokenValid() => token.isNotEmpty && tokenId.uuid.isNotEmpty;
|
||||
}
|
||||
|
||||
bool get isExpired {
|
||||
if (expiredTime != null) {
|
||||
final now = DateTime.now();
|
||||
log('TokenExtension::isExpired(): TIME_NOW: $now');
|
||||
log('TokenExtension::isExpired(): EXPIRED_DATE: $expiredTime');
|
||||
return expiredTime!.isBefore(now);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
String get tokenIdHash => tokenId.uuid.hashCode.toString();
|
||||
}
|
||||
@@ -17,10 +17,6 @@ class TokenOIDC with EquatableMixin {
|
||||
{this.expiredTime}
|
||||
);
|
||||
|
||||
factory TokenOIDC.empty() {
|
||||
return TokenOIDC('', TokenId(''), '');
|
||||
}
|
||||
|
||||
@override
|
||||
List<Object?> get props => [token, tokenId, expiredTime, refreshToken];
|
||||
}
|
||||
@@ -30,6 +26,8 @@ extension TokenOIDCExtension on TokenOIDC {
|
||||
bool isTokenValid() => token.isNotEmpty && tokenId.uuid.isNotEmpty;
|
||||
|
||||
Token toToken() {
|
||||
return Token(token, tokenId);
|
||||
return Token(token, tokenId, refreshToken, expiredTime: expiredTime);
|
||||
}
|
||||
|
||||
String get tokenIdHash => tokenId.uuid.hashCode.toString();
|
||||
}
|
||||
Reference in New Issue
Block a user