Skip to content

Commit 4e9fbac

Browse files
authored
Merge pull request #48 from NiallBunting/main
fix: Allow refreshing of the token when we don't have a user
2 parents 0ffb822 + ca6d2b3 commit 4e9fbac

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

packages/oidc/lib/src/managers/user_manager.dart

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -617,16 +617,16 @@ class OidcUserManager {
617617
///
618618
/// An [OidcException] will be thrown if the server returns an error.
619619
Future<OidcUser?> refreshToken({String? overrideRefreshToken}) async {
620+
_ensureInit();
621+
620622
if (!discoveryDocument.grantTypesSupportedOrDefault
621623
.contains(OidcConstants_GrantType.refreshToken)) {
622624
//Server doesn't support refresh_token grant.
623625
return null;
624626
}
625-
final user = currentUser;
626-
if (user == null) {
627-
return null;
628-
}
629-
final refreshToken = overrideRefreshToken ?? user.token.refreshToken;
627+
628+
final refreshToken =
629+
overrideRefreshToken ?? currentUser?.token.refreshToken;
630630
if (refreshToken == null) {
631631
// Can't refresh the access token anyway.
632632
return null;
@@ -649,7 +649,7 @@ class OidcUserManager {
649649
token: OidcToken.fromResponse(
650650
tokenResponse,
651651
overrideExpiresIn: settings.getExpiresIn?.call(tokenResponse),
652-
sessionState: user.token.sessionState,
652+
sessionState: currentUser?.token.sessionState,
653653
),
654654
nonce: null,
655655
attributes: null,

0 commit comments

Comments
 (0)