-
-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Added callbacks onTokenExpiring and onTokenExpired #91
base: main
Are you sure you want to change the base?
Conversation
@@ -784,15 +784,6 @@ abstract class OidcUserManagerBase { | |||
if (user == null) { | |||
tokenEventsManager.unload(); | |||
} else { | |||
if (!discoveryDocument.grantTypesSupportedOrDefault |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is removed cause handleTokenExpiring
should be called even if there is no refreshToken...
994a534
to
878f36f
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #91 +/- ##
===========================================
- Coverage 94.87% 16.66% -78.21%
===========================================
Files 3 42 +39
Lines 39 1158 +1119
===========================================
+ Hits 37 193 +156
- Misses 2 965 +963 ☔ View full report in Codecov by Sentry. |
878f36f
to
670bd98
Compare
@@ -803,6 +794,8 @@ abstract class OidcUserManagerBase { | |||
|
|||
@protected | |||
Future<void> handleTokenExpiring(OidcToken event) async { | |||
settings.onTokenExpiring?.call(event); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we still refresh using refreshToken
if the user provides their own onTokenExpiring
callback?
also would it make sense to expose a stream of expiring/expired events instead of callbacks ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we still refresh using refreshToken if the user provides their own onTokenExpiring callback?
Maybe there are scenarios where the user has to do some preparatory work before refresh can happen?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
also would it make sense to expose a stream of expiring/expired events instead of callbacks ?
Whatever you prefer. I could also add events to the existing events
stream using new subclasses of OidcEvent
(OidcTokenExpiring
and OidcTokenExpired
)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ahmednfwela Any news from your side? Are there any open points that prevent you from merging this PR? This is somehow important to me as I'm currently referencing my fork in our production app 🙈
Background: I use auth flow jwt-bearer where there is no refresh token. Still I want to auto-refresh before the token expires. The new callback
onTokenExpiring
can be used to achieve this.