Skip to content

Commit 4e3c924

Browse files
TokenManagerCredentialsProvider -> CachedCredentialsProvider
1 parent bffe1f2 commit 4e3c924

File tree

3 files changed

+47
-47
lines changed

3 files changed

+47
-47
lines changed

src/Ydb.Sdk/src/Auth/TokenManagerCredentialsProvider.cs renamed to src/Ydb.Sdk/src/Auth/CachedCredentialsProvider.cs

Lines changed: 42 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,16 @@
33

44
namespace Ydb.Sdk.Auth;
55

6-
public class TokenManagerCredentialsProvider : ICredentialsProvider
6+
public class CachedCredentialsProvider : ICredentialsProvider
77
{
88
private readonly IClock _clock;
99
private readonly IAuthClient _authClient;
1010

11-
private ILogger<TokenManagerCredentialsProvider> Logger { get; }
11+
private ILogger<CachedCredentialsProvider> Logger { get; }
1212

1313
private volatile ITokenState _tokenState;
1414

15-
public TokenManagerCredentialsProvider(
15+
public CachedCredentialsProvider(
1616
IAuthClient authClient,
1717
ILoggerFactory? loggerFactory = null
1818
)
@@ -23,10 +23,10 @@ public TokenManagerCredentialsProvider(
2323
_tokenState.Init();
2424

2525
loggerFactory ??= new NullLoggerFactory();
26-
Logger = loggerFactory.CreateLogger<TokenManagerCredentialsProvider>();
26+
Logger = loggerFactory.CreateLogger<CachedCredentialsProvider>();
2727
}
2828

29-
internal TokenManagerCredentialsProvider(IAuthClient authClient, IClock clock) : this(authClient)
29+
internal CachedCredentialsProvider(IAuthClient authClient, IClock clock) : this(authClient)
3030
{
3131
_clock = clock;
3232
}
@@ -59,12 +59,12 @@ void Init()
5959

6060
private class ActiveState : ITokenState
6161
{
62-
private readonly TokenManagerCredentialsProvider _tokenManagerCredentialsProvider;
62+
private readonly CachedCredentialsProvider _cachedCredentialsProvider;
6363

64-
public ActiveState(TokenResponse tokenResponse, TokenManagerCredentialsProvider tokenManagerCredentialsProvider)
64+
public ActiveState(TokenResponse tokenResponse, CachedCredentialsProvider cachedCredentialsProvider)
6565
{
6666
TokenResponse = tokenResponse;
67-
_tokenManagerCredentialsProvider = tokenManagerCredentialsProvider;
67+
_cachedCredentialsProvider = cachedCredentialsProvider;
6868
}
6969

7070
public TokenResponse TokenResponse { get; }
@@ -74,34 +74,34 @@ public async ValueTask<ITokenState> Validate(DateTime now)
7474
if (now < TokenResponse.ExpiredAt)
7575
{
7676
return now >= TokenResponse.RefreshAt
77-
? _tokenManagerCredentialsProvider.UpdateState(
77+
? _cachedCredentialsProvider.UpdateState(
7878
this,
79-
new BackgroundState(TokenResponse, _tokenManagerCredentialsProvider)
79+
new BackgroundState(TokenResponse, _cachedCredentialsProvider)
8080
)
8181
: this;
8282
}
8383

84-
_tokenManagerCredentialsProvider.Logger.LogWarning(
84+
_cachedCredentialsProvider.Logger.LogWarning(
8585
"Token has expired. ExpiredAt: {ExpiredAt}, CurrentTime: {CurrentTime}. " +
8686
"Switching to synchronous state to fetch a new token",
8787
TokenResponse.ExpiredAt, now
8888
);
8989

90-
return await _tokenManagerCredentialsProvider
91-
.UpdateState(this, new SyncState(_tokenManagerCredentialsProvider))
90+
return await _cachedCredentialsProvider
91+
.UpdateState(this, new SyncState(_cachedCredentialsProvider))
9292
.Validate(now);
9393
}
9494
}
9595

9696
private class SyncState : ITokenState
9797
{
98-
private readonly TokenManagerCredentialsProvider _tokenManagerCredentialsProvider;
98+
private readonly CachedCredentialsProvider _cachedCredentialsProvider;
9999

100100
private volatile Task<TokenResponse> _fetchTokenTask = null!;
101101

102-
public SyncState(TokenManagerCredentialsProvider tokenManagerCredentialsProvider)
102+
public SyncState(CachedCredentialsProvider cachedCredentialsProvider)
103103
{
104-
_tokenManagerCredentialsProvider = tokenManagerCredentialsProvider;
104+
_cachedCredentialsProvider = cachedCredentialsProvider;
105105
}
106106

107107
public TokenResponse TokenResponse =>
@@ -113,37 +113,37 @@ public async ValueTask<ITokenState> Validate(DateTime now)
113113
{
114114
var tokenResponse = await _fetchTokenTask;
115115

116-
_tokenManagerCredentialsProvider.Logger.LogDebug(
116+
_cachedCredentialsProvider.Logger.LogDebug(
117117
"Successfully fetched token at {Timestamp}. ExpiredAt: {ExpiredAt}, RefreshAt: {RefreshAt}",
118118
DateTime.Now, tokenResponse.ExpiredAt, tokenResponse.RefreshAt
119119
);
120120

121-
return _tokenManagerCredentialsProvider.UpdateState(this,
122-
new ActiveState(tokenResponse, _tokenManagerCredentialsProvider));
121+
return _cachedCredentialsProvider.UpdateState(this,
122+
new ActiveState(tokenResponse, _cachedCredentialsProvider));
123123
}
124124
catch (Exception e)
125125
{
126-
_tokenManagerCredentialsProvider.Logger.LogCritical(e, "Error on authentication token update");
126+
_cachedCredentialsProvider.Logger.LogCritical(e, "Error on authentication token update");
127127

128-
return _tokenManagerCredentialsProvider.UpdateState(this,
129-
new ErrorState(e, _tokenManagerCredentialsProvider));
128+
return _cachedCredentialsProvider.UpdateState(this,
129+
new ErrorState(e, _cachedCredentialsProvider));
130130
}
131131
}
132132

133-
public void Init() => _fetchTokenTask = _tokenManagerCredentialsProvider.FetchToken();
133+
public void Init() => _fetchTokenTask = _cachedCredentialsProvider.FetchToken();
134134
}
135135

136136
private class BackgroundState : ITokenState
137137
{
138-
private readonly TokenManagerCredentialsProvider _tokenManagerCredentialsProvider;
138+
private readonly CachedCredentialsProvider _cachedCredentialsProvider;
139139

140140
private volatile Task<TokenResponse> _fetchTokenTask = null!;
141141

142142
public BackgroundState(TokenResponse tokenResponse,
143-
TokenManagerCredentialsProvider tokenManagerCredentialsProvider)
143+
CachedCredentialsProvider cachedCredentialsProvider)
144144
{
145145
TokenResponse = tokenResponse;
146-
_tokenManagerCredentialsProvider = tokenManagerCredentialsProvider;
146+
_cachedCredentialsProvider = cachedCredentialsProvider;
147147
}
148148

149149
public TokenResponse TokenResponse { get; }
@@ -152,22 +152,22 @@ public async ValueTask<ITokenState> Validate(DateTime now)
152152
{
153153
if (_fetchTokenTask.IsCanceled || _fetchTokenTask.IsFaulted)
154154
{
155-
_tokenManagerCredentialsProvider.Logger.LogWarning(
155+
_cachedCredentialsProvider.Logger.LogWarning(
156156
"Fetching token task failed. Status: {Status}, Retrying login...",
157157
_fetchTokenTask.IsCanceled ? "Canceled" : "Faulted"
158158
);
159159

160160
return now >= TokenResponse.ExpiredAt
161-
? _tokenManagerCredentialsProvider
162-
.UpdateState(this, new SyncState(_tokenManagerCredentialsProvider))
163-
: _tokenManagerCredentialsProvider
164-
.UpdateState(this, new BackgroundState(TokenResponse, _tokenManagerCredentialsProvider));
161+
? _cachedCredentialsProvider
162+
.UpdateState(this, new SyncState(_cachedCredentialsProvider))
163+
: _cachedCredentialsProvider
164+
.UpdateState(this, new BackgroundState(TokenResponse, _cachedCredentialsProvider));
165165
}
166166

167167
if (_fetchTokenTask.IsCompleted)
168168
{
169-
return _tokenManagerCredentialsProvider
170-
.UpdateState(this, new ActiveState(await _fetchTokenTask, _tokenManagerCredentialsProvider));
169+
return _cachedCredentialsProvider
170+
.UpdateState(this, new ActiveState(await _fetchTokenTask, _cachedCredentialsProvider));
171171
}
172172

173173
if (now < TokenResponse.ExpiredAt)
@@ -179,32 +179,32 @@ public async ValueTask<ITokenState> Validate(DateTime now)
179179
{
180180
var tokenResponse = await _fetchTokenTask;
181181

182-
_tokenManagerCredentialsProvider.Logger.LogDebug(
182+
_cachedCredentialsProvider.Logger.LogDebug(
183183
"Successfully fetched token. ExpiredAt: {ExpiredAt}, RefreshAt: {RefreshAt}",
184184
tokenResponse.ExpiredAt, tokenResponse.RefreshAt
185185
);
186186

187-
return _tokenManagerCredentialsProvider.UpdateState(this,
188-
new ActiveState(tokenResponse, _tokenManagerCredentialsProvider));
187+
return _cachedCredentialsProvider.UpdateState(this,
188+
new ActiveState(tokenResponse, _cachedCredentialsProvider));
189189
}
190190
catch (Exception e)
191191
{
192-
_tokenManagerCredentialsProvider.Logger.LogCritical(e, "Error on authentication token update");
192+
_cachedCredentialsProvider.Logger.LogCritical(e, "Error on authentication token update");
193193

194-
return _tokenManagerCredentialsProvider.UpdateState(this,
195-
new ErrorState(e, _tokenManagerCredentialsProvider));
194+
return _cachedCredentialsProvider.UpdateState(this,
195+
new ErrorState(e, _cachedCredentialsProvider));
196196
}
197197
}
198198

199-
public void Init() => _fetchTokenTask = _tokenManagerCredentialsProvider.FetchToken();
199+
public void Init() => _fetchTokenTask = _cachedCredentialsProvider.FetchToken();
200200
}
201201

202202
private class ErrorState : ITokenState
203203
{
204204
private readonly Exception _exception;
205-
private readonly TokenManagerCredentialsProvider _managerCredentialsProvider;
205+
private readonly CachedCredentialsProvider _managerCredentialsProvider;
206206

207-
public ErrorState(Exception exception, TokenManagerCredentialsProvider managerCredentialsProvider)
207+
public ErrorState(Exception exception, CachedCredentialsProvider managerCredentialsProvider)
208208
{
209209
_exception = exception;
210210
_managerCredentialsProvider = managerCredentialsProvider;

src/Ydb.Sdk/src/Driver.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public Driver(DriverConfig config, ILoggerFactory? loggerFactory = null)
4040
_sdkInfo = $"ydb-dotnet-sdk/{versionStr}";
4141

4242
CredentialsProvider = Config.User != null
43-
? new TokenManagerCredentialsProvider(
43+
? new CachedCredentialsProvider(
4444
new StaticCredentialsAuthClient(config, _grpcChannelFactory, LoggerFactory),
4545
LoggerFactory
4646
)

src/Ydb.Sdk/tests/Auth/TokenManagerCredentialsProviderTests.cs renamed to src/Ydb.Sdk/tests/Auth/CachedCredentialsProviderTests.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
namespace Ydb.Sdk.Tests.Auth;
66

77
[Trait("Category", "Unit")]
8-
public class TokenManagerCredentialsProviderTests
8+
public class CachedCredentialsProviderTests
99
{
1010
private const string Token = "SomeToken";
1111

@@ -24,7 +24,7 @@ public async Task SyncState_To_ErrorState_To_SyncState_To_ActiveState()
2424
)
2525
.ReturnsAsync(new TokenResponse(Token, now.Add(TimeSpan.FromSeconds(2))));
2626
_mockClock.Setup(clock => clock.UtcNow).Returns(now);
27-
var credentialsProvider = new TokenManagerCredentialsProvider(_mockAuthClient.Object, _mockClock.Object);
27+
var credentialsProvider = new CachedCredentialsProvider(_mockAuthClient.Object, _mockClock.Object);
2828

2929
await Assert.ThrowsAsync<StatusUnsuccessfulException>(() => credentialsProvider.GetAuthInfoAsync().AsTask());
3030
Assert.Equal(Token, await credentialsProvider.GetAuthInfoAsync());
@@ -52,7 +52,7 @@ public async Task SyncState_To_ActiveState_To_BackgroundState_To_ActiveState()
5252
.Returns(now.Add(TimeSpan.FromSeconds(3)))
5353
.Returns(now.Add(TimeSpan.FromSeconds(3)))
5454
.Returns(now.Add(TimeSpan.FromSeconds(4)));
55-
var credentialsProvider = new TokenManagerCredentialsProvider(_mockAuthClient.Object, _mockClock.Object);
55+
var credentialsProvider = new CachedCredentialsProvider(_mockAuthClient.Object, _mockClock.Object);
5656

5757
Assert.Equal(Token, await credentialsProvider.GetAuthInfoAsync());
5858
Assert.Equal(Token, await credentialsProvider.GetAuthInfoAsync());
@@ -78,7 +78,7 @@ public async Task SyncState_To_ActiveState_To_SyncState_To_ActiveState()
7878
.Returns(now)
7979
.Returns(now.Add(TimeSpan.FromSeconds(4)))
8080
.Returns(now.Add(TimeSpan.FromSeconds(4)));
81-
var credentialsProvider = new TokenManagerCredentialsProvider(_mockAuthClient.Object, _mockClock.Object);
81+
var credentialsProvider = new CachedCredentialsProvider(_mockAuthClient.Object, _mockClock.Object);
8282

8383
Assert.Equal(Token, await credentialsProvider.GetAuthInfoAsync());
8484
Assert.Equal(Token + "1", await credentialsProvider.GetAuthInfoAsync());

0 commit comments

Comments
 (0)