Skip to content

Commit 9a4cc47

Browse files
committed
Replaced callbacks onTokenExpiring and onTokenExpired by event types OidcTokenExpiringEvent/OidcTokenExpiredEvent
1 parent 22f3af8 commit 9a4cc47

File tree

5 files changed

+44
-12
lines changed

5 files changed

+44
-12
lines changed

packages/oidc_core/lib/src/managers/user_manager_base.dart

+6-2
Original file line numberDiff line numberDiff line change
@@ -794,7 +794,9 @@ abstract class OidcUserManagerBase {
794794

795795
@protected
796796
Future<void> handleTokenExpiring(OidcToken event) async {
797-
settings.onTokenExpiring?.call(event);
797+
eventsController.add(
798+
OidcTokenExpiringEvent.now(currentToken: event),
799+
);
798800

799801
final refreshToken = event.refreshToken;
800802
if (refreshToken == null) {
@@ -836,7 +838,9 @@ abstract class OidcUserManagerBase {
836838

837839
@protected
838840
void handleTokenExpired(OidcToken event) {
839-
settings.onTokenExpired?.call(event);
841+
eventsController.add(
842+
OidcTokenExpiredEvent.now(currentToken: event),
843+
);
840844

841845
if (!settings.supportOfflineAuth) {
842846
forgetUser();
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
export 'event.dart';
22
export 'pre_logout_event.dart';
3+
export 'token_expired_event.dart';
4+
export 'token_expiring_event.dart';
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import 'package:oidc_core/oidc_core.dart';
2+
3+
/// An event that gets raised after a token expired.
4+
class OidcTokenExpiredEvent extends OidcEvent {
5+
///
6+
const OidcTokenExpiredEvent({
7+
required this.currentToken,
8+
required super.at,
9+
});
10+
11+
///
12+
OidcTokenExpiredEvent.now({
13+
required this.currentToken,
14+
}) : super.now();
15+
16+
/// The current token that is expired.
17+
final OidcToken currentToken;
18+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import 'package:oidc_core/oidc_core.dart';
2+
3+
/// An event that gets raised before a token expires.
4+
class OidcTokenExpiringEvent extends OidcEvent {
5+
///
6+
const OidcTokenExpiringEvent({
7+
required this.currentToken,
8+
required super.at,
9+
});
10+
11+
///
12+
OidcTokenExpiringEvent.now({
13+
required this.currentToken,
14+
}) : super.now();
15+
16+
/// The current token that is expiring.
17+
final OidcToken currentToken;
18+
}

packages/oidc_core/lib/src/models/settings/user_manager_settings.dart

-10
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ import 'package:oidc_core/oidc_core.dart';
33
/// The callback used to determine the `expiring` duration.
44
typedef OidcRefreshBeforeCallback = Duration? Function(OidcToken token);
55

6-
typedef OidcTokenCallback = void Function(OidcToken token);
7-
86
/// The default refreshBefore function, which refreshes 1 minute before the token expires.
97
Duration? defaultRefreshBefore(OidcToken token) {
108
return const Duration(minutes: 1);
@@ -37,8 +35,6 @@ class OidcUserManagerSettings {
3735
this.sessionManagementSettings = const OidcSessionManagementSettings(),
3836
this.getIdToken,
3937
this.supportOfflineAuth = false,
40-
this.onTokenExpiring,
41-
this.onTokenExpired,
4238
});
4339

4440
/// The default scopes
@@ -131,12 +127,6 @@ class OidcUserManagerSettings {
131127

132128
/// platform-specific options.
133129
final OidcPlatformSpecificOptions? options;
134-
135-
/// Callback that is called before the token expires.
136-
final OidcTokenCallback? onTokenExpiring;
137-
138-
/// Callback that is called after the token expired.
139-
final OidcTokenCallback? onTokenExpired;
140130
}
141131

142132
///

0 commit comments

Comments
 (0)