File tree Expand file tree Collapse file tree 2 files changed +9
-5
lines changed
src/Cabazure.Client.Runtime Expand file tree Collapse file tree 2 files changed +9
-5
lines changed Original file line number Diff line number Diff 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 (
Original file line number Diff line number Diff line change 22
33public 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}
You can’t perform that action at this time.
0 commit comments