public Task <UserInfo> GetUserInfoAsync(string accessToken)
 {
     return(_userInfoCachePolicy.ExecuteAsync(ctx => _inner.GetUserInfoAsync(accessToken), new Context(_getKey(accessToken), new Dictionary <string, object>()
     {
         { ContextualTtl.TimeSpanKey, _expiresIn(accessToken) }
     })));
 }
 public Task <UserInfo> GetUserInfoAsync(string accessToken, CancellationToken cancellationToken = default)
 {
     return(_userInfoCachePolicy.ExecuteAsync((_, ctk) => _inner.GetUserInfoAsync(accessToken, ctk), new Context(_getKey(accessToken), new Dictionary <string, object>()
     {
         { ContextualTtl.TimeSpanKey, _expiresIn(accessToken) }
     }), cancellationToken));
 }