Skip to content

Commit 1b2107f

Browse files
committed
cleanup auth session user token store
1 parent 99b8520 commit 1b2107f

File tree

2 files changed

+14
-15
lines changed

2 files changed

+14
-15
lines changed

src/Duende.AccessTokenManagement.OpenIdConnect/AuthenticationSessionUserTokenStore.cs

+13-14
Original file line numberDiff line numberDiff line change
@@ -102,13 +102,14 @@ public async Task<UserToken> GetTokenAsync(
102102
{
103103
dpopKeyName += $"::{parameters.Resource}";
104104
}
105-
var expiresName = $"{TokenPrefix}expires_at"; string? refreshToken = null;
105+
var expiresName = $"{TokenPrefix}expires_at";
106106
if (!string.IsNullOrEmpty(parameters.Resource))
107107
{
108108
expiresName += $"::{parameters.Resource}";
109109
}
110110
const string refreshTokenName = $"{TokenPrefix}{OpenIdConnectParameterNames.RefreshToken}";
111111

112+
string? refreshToken = null;
112113
string? accessToken = null;
113114
string? accessTokenType = null;
114115
string? dpopKey = null;
@@ -156,7 +157,7 @@ public async Task StoreTokenAsync(
156157
UserToken token,
157158
UserTokenRequestParameters? parameters = null)
158159
{
159-
parameters ??= new ();
160+
parameters ??= new();
160161

161162
// check the cache in case the cookie was re-issued via StoreTokenAsync
162163
// we use String.Empty as the key for a null SignInScheme
@@ -173,13 +174,7 @@ public async Task StoreTokenAsync(
173174
// in case you want to filter certain claims before re-issuing the authentication session
174175
var transformedPrincipal = await FilterPrincipalAsync(result.Principal!).ConfigureAwait(false);
175176

176-
var expiresName = "expires_at";
177-
if (!string.IsNullOrEmpty(parameters.Resource))
178-
{
179-
expiresName += $"::{parameters.Resource}";
180-
}
181-
182-
var tokenName = OpenIdConnectParameterNames.AccessToken;
177+
var tokenName = $"{TokenPrefix}{OpenIdConnectParameterNames.AccessToken}";
183178
if (!string.IsNullOrEmpty(parameters.Resource))
184179
{
185180
tokenName += $"::{parameters.Resource}";
@@ -194,7 +189,11 @@ public async Task StoreTokenAsync(
194189
{
195190
dpopKeyName += $"::{parameters.Resource}";
196191
}
197-
192+
var expiresName = $"{TokenPrefix}expires_at";
193+
if (!string.IsNullOrEmpty(parameters.Resource))
194+
{
195+
expiresName += $"::{parameters.Resource}";
196+
}
198197
var refreshTokenName = $"{OpenIdConnectParameterNames.RefreshToken}";
199198

200199
if (AppendChallengeSchemeToTokenNames(parameters))
@@ -206,13 +205,13 @@ public async Task StoreTokenAsync(
206205
expiresName += $"||{parameters.ChallengeScheme}";
207206
}
208207

209-
result.Properties!.Items[$"{TokenPrefix}{tokenName}"] = token.AccessToken;
210-
result.Properties!.Items[$"{TokenPrefix}{tokenTypeName}"] = token.AccessTokenType;
208+
result.Properties!.Items[tokenName] = token.AccessToken;
209+
result.Properties!.Items[tokenTypeName] = token.AccessTokenType;
211210
if (token.DPoPJsonWebKey != null)
212211
{
213-
result.Properties!.Items[$"{TokenPrefix}{dpopKeyName}"] = token.DPoPJsonWebKey;
212+
result.Properties!.Items[dpopKeyName] = token.DPoPJsonWebKey;
214213
}
215-
result.Properties!.Items[$"{TokenPrefix}{expiresName}"] = token.Expiration.ToString("o", CultureInfo.InvariantCulture);
214+
result.Properties!.Items[expiresName] = token.Expiration.ToString("o", CultureInfo.InvariantCulture);
216215

217216
if (token.RefreshToken != null)
218217
{

test/Tests/UserTokenManagementTests.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ public async Task Short_token_lifetime_should_trigger_refresh()
262262
token.ShouldNotBeNull();
263263
token.IsError.ShouldBeFalse();
264264
token.AccessToken.ShouldBe("refreshed2_access_token");
265-
token.AccessTokenType.ShouldBe("token_type");
265+
token.AccessTokenType.ShouldBe("token_type2");
266266
token.RefreshToken.ShouldBe("refreshed2_refresh_token");
267267
token.Expiration.ShouldNotBe(DateTimeOffset.MaxValue);
268268
}

0 commit comments

Comments
 (0)