Skip to content

Commit eebede4

Browse files
committed
Update according to PR suggestions
1 parent eca09cd commit eebede4

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

src/Cabazure.Client.Runtime/Authentication/BearerTokenProvider.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ public class BearerTokenProvider : IBearerTokenProvider
88
{
99
private readonly TokenCredential credential;
1010
private readonly IDateTimeProvider dateTimeProvider;
11-
private readonly ConcurrentDictionary<string[], AccessToken> accessTokenCache = new();
11+
private readonly ConcurrentDictionary<string, AccessToken> accessTokenCache = new();
1212

1313
public BearerTokenProvider(
1414
TokenCredential credential,
@@ -22,9 +22,10 @@ public async Task<AuthenticationHeaderValue> GetTokenAsync(
2222
string[] scopes,
2323
CancellationToken cancellationToken)
2424
{
25-
if (!accessTokenCache.TryGetValue(scopes, out var accessToken) || TokenIsExpired(accessToken))
25+
var key = string.Join(" ", scopes);
26+
if (!accessTokenCache.TryGetValue(key, out var accessToken) || TokenIsExpired(accessToken))
2627
{
27-
accessTokenCache[scopes] = accessToken = await credential.GetTokenAsync(new TokenRequestContext(scopes), cancellationToken);
28+
accessTokenCache[key] = accessToken = await credential.GetTokenAsync(new TokenRequestContext(scopes), cancellationToken);
2829
}
2930

3031
return new AuthenticationHeaderValue(

src/Cabazure.Client.Runtime/HttpRequestMessageExtensions.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,20 @@
22

33
public static class HttpRequestMessageExtensions
44
{
5+
private const string ScopesKey = "scopes";
6+
57
public static void SetScopes(
68
this HttpRequestMessage request,
79
params string[] scopes)
8-
=> request.Properties["scopes"] = scopes;
10+
=> request.Properties[ScopesKey] = scopes;
911

1012
public static string[]? GetScopes(this HttpRequestMessage request)
1113
{
12-
if (request.Properties.TryGetValue("scopes", out var value) && value is string[] scopes)
14+
if (request.Properties.TryGetValue(ScopesKey, out var value) && value is string[] scopes)
1315
{
1416
return scopes;
1517
}
18+
1619
return null;
1720
}
1821
}

0 commit comments

Comments
 (0)