Skip to content

Commit 9eb51e5

Browse files
committed
rebrand AAD to Microsoft Entra
1 parent b89bbda commit 9eb51e5

File tree

16 files changed

+102
-112
lines changed

16 files changed

+102
-112
lines changed

src/Microsoft.Azure.SignalR.AspNet/EndpointProvider/ServiceEndpointProvider.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,9 +95,9 @@ public string GetServerEndpoint(string hubName)
9595

9696
public IAccessTokenProvider GetServerAccessTokenProvider(string hubName, string serverId)
9797
{
98-
if (_accessKey is AadAccessKey aadAccessKey)
98+
if (_accessKey is AccessKeyForMicrosoftEntra aadAccessKey)
9999
{
100-
return new AadTokenProvider(aadAccessKey);
100+
return new MicrosoftEntraTokenProvider(aadAccessKey);
101101
}
102102
else if (_accessKey is not null)
103103
{

src/Microsoft.Azure.SignalR.Common/Auth/AadTokenProvider.cs renamed to src/Microsoft.Azure.SignalR.Common/Auth/MicrosoftEntraTokenProvider.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@
66

77
namespace Microsoft.Azure.SignalR
88
{
9-
internal class AadTokenProvider : IAccessTokenProvider
9+
internal class MicrosoftEntraTokenProvider : IAccessTokenProvider
1010
{
11-
private readonly AadAccessKey _accessKey;
11+
private readonly AccessKeyForMicrosoftEntra _accessKey;
1212

13-
public AadTokenProvider(AadAccessKey accessKey)
13+
public MicrosoftEntraTokenProvider(AccessKeyForMicrosoftEntra accessKey)
1414
{
1515
_accessKey = accessKey ?? throw new ArgumentNullException(nameof(accessKey));
1616
}
1717

18-
public Task<string> ProvideAsync() => _accessKey.GenerateAadTokenAsync();
18+
public Task<string> ProvideAsync() => _accessKey.GetMicrosoftEntraTokenAsync();
1919
}
2020
}

src/Microsoft.Azure.SignalR.Common/Endpoints/AadAccessKey.cs renamed to src/Microsoft.Azure.SignalR.Common/Endpoints/AccessKeyForMicrosoftEntra.cs

Lines changed: 25 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -17,27 +17,27 @@
1717

1818
namespace Microsoft.Azure.SignalR
1919
{
20-
internal class AadAccessKey : AccessKey
20+
internal class AccessKeyForMicrosoftEntra : AccessKey
2121
{
22-
internal const int AuthorizeIntervalInMinute = 55;
22+
internal const int GetAccessKeyIntervalInMinute = 55;
2323

24-
internal const int AuthorizeMaxRetryTimes = 3;
24+
internal const int GetAccessKeyMaxRetryTimes = 3;
2525

26-
internal const int AuthorizeRetryIntervalInSec = 3;
26+
internal const int GetAccessKeyRetryIntervalInSec = 3;
2727

28-
internal const int GetTokenMaxRetryTimes = 3;
28+
internal const int GetMicrosoftEntraTokenMaxRetryTimes = 3;
2929

30-
internal static readonly TimeSpan AuthorizeTimeout = TimeSpan.FromSeconds(100);
30+
internal static readonly TimeSpan GetAccessKeyTimeout = TimeSpan.FromSeconds(100);
3131

3232
private const string DefaultScope = "https://signalr.azure.com/.default";
3333

34-
private static readonly TimeSpan AuthorizeInterval = TimeSpan.FromMinutes(AuthorizeIntervalInMinute);
35-
3634
private static readonly TokenRequestContext DefaultRequestContext = new TokenRequestContext(new string[] { DefaultScope });
3735

38-
private static readonly TimeSpan AuthorizeIntervalWhenFailed = TimeSpan.FromMinutes(5);
36+
private static readonly TimeSpan GetAccessKeyInterval = TimeSpan.FromMinutes(GetAccessKeyIntervalInMinute);
37+
38+
private static readonly TimeSpan GetAccessKeyIntervalWhenUnauthorized = TimeSpan.FromMinutes(5);
3939

40-
private static readonly TimeSpan AuthorizeRetryInterval = TimeSpan.FromSeconds(AuthorizeRetryIntervalInSec);
40+
private static readonly TimeSpan GetAccessKeyRetryInterval = TimeSpan.FromSeconds(GetAccessKeyRetryIntervalInSec);
4141

4242
private readonly TaskCompletionSource<object> _initializedTcs = new TaskCompletionSource<object>(TaskCreationOptions.RunContinuationsAsynchronously);
4343

@@ -58,23 +58,23 @@ private set
5858

5959
public TokenCredential TokenCredential { get; }
6060

61-
internal string AuthorizeUrl { get; }
61+
internal string GetAccessKeyUrl { get; }
6262

63-
internal bool HasExpired => DateTime.UtcNow - _lastUpdatedTime > TimeSpan.FromMinutes(AuthorizeIntervalInMinute * 2);
63+
internal bool HasExpired => DateTime.UtcNow - _lastUpdatedTime > TimeSpan.FromMinutes(GetAccessKeyIntervalInMinute * 2);
6464

6565
private Task<object> InitializedTask => _initializedTcs.Task;
6666

67-
public AadAccessKey(Uri endpoint, TokenCredential credential, Uri serverEndpoint = null) : base(endpoint)
67+
public AccessKeyForMicrosoftEntra(Uri endpoint, TokenCredential credential, Uri serverEndpoint = null) : base(endpoint)
6868
{
6969
var authorizeUri = (serverEndpoint ?? endpoint).Append("/api/v1/auth/accessKey");
70-
AuthorizeUrl = authorizeUri.AbsoluteUri;
70+
GetAccessKeyUrl = authorizeUri.AbsoluteUri;
7171
TokenCredential = credential;
7272
}
7373

74-
public virtual async Task<string> GenerateAadTokenAsync(CancellationToken ctoken = default)
74+
public virtual async Task<string> GetMicrosoftEntraTokenAsync(CancellationToken ctoken = default)
7575
{
7676
Exception latest = null;
77-
for (var i = 0; i < GetTokenMaxRetryTimes; i++)
77+
for (var i = 0; i < GetMicrosoftEntraTokenMaxRetryTimes; i++)
7878
{
7979
try
8080
{
@@ -125,28 +125,24 @@ internal void UpdateAccessKey(string kid, string accessKey)
125125
internal async Task UpdateAccessKeyAsync(CancellationToken ctoken = default)
126126
{
127127
var delta = DateTime.UtcNow - _lastUpdatedTime;
128-
if (Authorized && delta < AuthorizeInterval)
128+
if (Authorized && delta < GetAccessKeyInterval)
129129
{
130130
return;
131131
}
132-
else if (!Authorized && delta < AuthorizeIntervalWhenFailed)
132+
else if (!Authorized && delta < GetAccessKeyIntervalWhenUnauthorized)
133133
{
134134
return;
135135
}
136-
await AuthorizeWithRetryAsync(ctoken);
137-
}
138136

139-
private async Task AuthorizeWithRetryAsync(CancellationToken ctoken = default)
140-
{
141137
Exception latest = null;
142-
for (var i = 0; i < AuthorizeMaxRetryTimes; i++)
138+
for (var i = 0; i < GetAccessKeyMaxRetryTimes; i++)
143139
{
144-
var source = new CancellationTokenSource(AuthorizeTimeout);
140+
var source = new CancellationTokenSource(GetAccessKeyTimeout);
145141
var linkedSource = CancellationTokenSource.CreateLinkedTokenSource(source.Token, ctoken);
146142
try
147143
{
148-
var token = await GenerateAadTokenAsync(linkedSource.Token);
149-
await AuthorizeWithTokenAsync(token, linkedSource.Token);
144+
var token = await GetMicrosoftEntraTokenAsync(linkedSource.Token);
145+
await GetAccessKeyInternalAsync(token, linkedSource.Token);
150146
return;
151147
}
152148
catch (OperationCanceledException e)
@@ -159,7 +155,7 @@ private async Task AuthorizeWithRetryAsync(CancellationToken ctoken = default)
159155
latest = e;
160156
try
161157
{
162-
await Task.Delay(AuthorizeRetryInterval, ctoken);
158+
await Task.Delay(GetAccessKeyRetryInterval, ctoken);
163159
}
164160
catch (OperationCanceledException)
165161
{
@@ -172,9 +168,9 @@ private async Task AuthorizeWithRetryAsync(CancellationToken ctoken = default)
172168
throw latest;
173169
}
174170

175-
private async Task AuthorizeWithTokenAsync(string accessToken, CancellationToken ctoken = default)
171+
private async Task GetAccessKeyInternalAsync(string accessToken, CancellationToken ctoken = default)
176172
{
177-
var api = new RestApiEndpoint(AuthorizeUrl, accessToken);
173+
var api = new RestApiEndpoint(GetAccessKeyUrl, accessToken);
178174

179175
await new RestClient().SendAsync(
180176
api,

src/Microsoft.Azure.SignalR.Common/Endpoints/AccessKeySynchronizer.Log.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ internal partial class AccessKeySynchronizer
1111
private static class Log
1212
{
1313
private static readonly Action<ILogger, string, Exception> _failedAuthorize =
14-
LoggerMessage.Define<string>(LogLevel.Warning, new EventId(2, "FailedAuthorizeAccessKey"), "Failed in authorizing AccessKey for '{endpoint}', will retry in " + AadAccessKey.AuthorizeRetryIntervalInSec + " seconds");
14+
LoggerMessage.Define<string>(LogLevel.Warning, new EventId(2, "FailedAuthorizeAccessKey"), "Failed in authorizing AccessKey for '{endpoint}', will retry in " + AccessKeyForMicrosoftEntra.GetAccessKeyRetryIntervalInSec + " seconds");
1515

1616
private static readonly Action<ILogger, string, Exception> _succeedAuthorize =
1717
LoggerMessage.Define<string>(LogLevel.Information, new EventId(3, "SucceedAuthorizeAccessKey"), "Succeed in authorizing AccessKey for '{endpoint}'");

src/Microsoft.Azure.SignalR.Common/Endpoints/AccessKeySynchronizer.cs

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,7 @@ internal partial class AccessKeySynchronizer : IAccessKeySynchronizer, IDisposab
1919

2020
private readonly TimerAwaitable _timer = new TimerAwaitable(TimeSpan.Zero, TimeSpan.FromMinutes(1));
2121

22-
public AccessKeySynchronizer(
23-
ILoggerFactory loggerFactory
24-
) : this(loggerFactory, true)
22+
public AccessKeySynchronizer(ILoggerFactory loggerFactory) : this(loggerFactory, true)
2523
{
2624
}
2725

@@ -42,9 +40,9 @@ bool start
4240

4341
public void AddServiceEndpoint(ServiceEndpoint endpoint)
4442
{
45-
if (endpoint.AccessKey is AadAccessKey aadKey)
43+
if (endpoint.AccessKey is AccessKeyForMicrosoftEntra key)
4644
{
47-
_ = UpdateAccessKeyAsync(aadKey);
45+
_ = UpdateAccessKeyAsync(key);
4846
}
4947
_endpoints.TryAdd(endpoint, null);
5048
}
@@ -64,7 +62,7 @@ public void UpdateServiceEndpoints(IEnumerable<ServiceEndpoint> endpoints)
6462

6563
internal int ServiceEndpointsCount() => _endpoints.Count;
6664

67-
internal IEnumerable<AadAccessKey> FilterAadAccessKeys() => _endpoints.Select(e => e.Key.AccessKey).OfType<AadAccessKey>();
65+
internal IEnumerable<AccessKeyForMicrosoftEntra> FilterAadAccessKeys() => _endpoints.Select(e => e.Key.AccessKey).OfType<AccessKeyForMicrosoftEntra>();
6866

6967
private async Task UpdateAccessKeyAsync()
7068
{
@@ -82,17 +80,17 @@ private async Task UpdateAccessKeyAsync()
8280
}
8381
}
8482

85-
private async Task UpdateAccessKeyAsync(AadAccessKey key)
83+
private async Task UpdateAccessKeyAsync(AccessKeyForMicrosoftEntra key)
8684
{
87-
var logger = _factory.CreateLogger<AadAccessKey>();
85+
var logger = _factory.CreateLogger<AccessKeyForMicrosoftEntra>();
8886
try
8987
{
9088
await key.UpdateAccessKeyAsync();
91-
Log.SucceedToAuthorizeAccessKey(logger, key.AuthorizeUrl);
89+
Log.SucceedToAuthorizeAccessKey(logger, key.GetAccessKeyUrl);
9290
}
9391
catch (Exception e)
9492
{
95-
Log.FailedToAuthorizeAccessKey(logger, key.AuthorizeUrl, e);
93+
Log.FailedToAuthorizeAccessKey(logger, key.GetAccessKeyUrl, e);
9694
}
9795
}
9896

src/Microsoft.Azure.SignalR.Common/Endpoints/ServiceEndpoint.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ internal AccessKey AccessKey
8686
{
8787
lock (_lock)
8888
{
89-
_accessKey ??= new AadAccessKey(_serviceEndpoint, _tokenCredential, ServerEndpoint);
89+
_accessKey ??= new AccessKeyForMicrosoftEntra(_serviceEndpoint, _tokenCredential, ServerEndpoint);
9090
}
9191
}
9292
return _accessKey;

src/Microsoft.Azure.SignalR.Common/ServiceConnections/ServiceConnectionBase.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ public async Task StartAsync(string target = null)
162162
TimerAwaitable syncTimer = null;
163163
try
164164
{
165-
if (HubEndpoint != null && HubEndpoint.AccessKey is AadAccessKey aadKey)
165+
if (HubEndpoint != null && HubEndpoint.AccessKey is AccessKeyForMicrosoftEntra aadKey)
166166
{
167167
syncTimer = new TimerAwaitable(TimeSpan.Zero, DefaultSyncAzureIdentityInterval);
168168
_ = UpdateAzureIdentityAsync(aadKey, syncTimer);
@@ -330,7 +330,7 @@ private Task OnEventMessageAsync(ServiceEventMessage message)
330330

331331
private Task OnAccessKeyMessageAsync(AccessKeyResponseMessage keyMessage)
332332
{
333-
if (HubEndpoint.AccessKey is AadAccessKey key)
333+
if (HubEndpoint.AccessKey is AccessKeyForMicrosoftEntra key)
334334
{
335335
if (string.IsNullOrEmpty(keyMessage.ErrorType))
336336
{
@@ -474,7 +474,7 @@ private async Task<bool> ReceiveHandshakeResponseAsync(PipeReader input, Cancell
474474
}
475475
}
476476

477-
private async Task UpdateAzureIdentityAsync(AadAccessKey key, TimerAwaitable timer)
477+
private async Task UpdateAzureIdentityAsync(AccessKeyForMicrosoftEntra key, TimerAwaitable timer)
478478
{
479479
using (timer)
480480
{
@@ -486,12 +486,12 @@ private async Task UpdateAzureIdentityAsync(AadAccessKey key, TimerAwaitable tim
486486
}
487487
}
488488

489-
private async Task SendAccessKeyRequestMessageAsync(AadAccessKey key)
489+
private async Task SendAccessKeyRequestMessageAsync(AccessKeyForMicrosoftEntra key)
490490
{
491491
try
492492
{
493-
var source = new CancellationTokenSource(AadAccessKey.AuthorizeTimeout);
494-
var token = await key.GenerateAadTokenAsync(source.Token);
493+
var source = new CancellationTokenSource(AccessKeyForMicrosoftEntra.GetAccessKeyTimeout);
494+
var token = await key.GetMicrosoftEntraTokenAsync(source.Token);
495495
var message = new AccessKeyRequestMessage(token);
496496
await SafeWriteAsync(message);
497497
}

src/Microsoft.Azure.SignalR.Common/Utilities/ConnectionStringParser.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -169,11 +169,11 @@ private static AccessKey BuildAzureADAccessKey(Uri uri, Uri serverEndpointUri, D
169169
{
170170
if (dict.TryGetValue(ClientSecretProperty, out var clientSecret))
171171
{
172-
return new AadAccessKey(uri, new ClientSecretCredential(tenantId, clientId, clientSecret), serverEndpointUri);
172+
return new AccessKeyForMicrosoftEntra(uri, new ClientSecretCredential(tenantId, clientId, clientSecret), serverEndpointUri);
173173
}
174174
else if (dict.TryGetValue(ClientCertProperty, out var clientCertPath))
175175
{
176-
return new AadAccessKey(uri, new ClientCertificateCredential(tenantId, clientId, clientCertPath), serverEndpointUri);
176+
return new AccessKeyForMicrosoftEntra(uri, new ClientCertificateCredential(tenantId, clientId, clientCertPath), serverEndpointUri);
177177
}
178178
else
179179
{
@@ -182,12 +182,12 @@ private static AccessKey BuildAzureADAccessKey(Uri uri, Uri serverEndpointUri, D
182182
}
183183
else
184184
{
185-
return new AadAccessKey(uri, new ManagedIdentityCredential(clientId), serverEndpointUri);
185+
return new AccessKeyForMicrosoftEntra(uri, new ManagedIdentityCredential(clientId), serverEndpointUri);
186186
}
187187
}
188188
else
189189
{
190-
return new AadAccessKey(uri, new ManagedIdentityCredential(), serverEndpointUri);
190+
return new AccessKeyForMicrosoftEntra(uri, new ManagedIdentityCredential(), serverEndpointUri);
191191
}
192192
}
193193

@@ -200,7 +200,7 @@ private static AccessKey BuildAccessKey(Uri uri, Dictionary<string, string> dict
200200

201201
private static AccessKey BuildAzureAccessKey(Uri uri, Uri serverEndpointUri, Dictionary<string, string> dict)
202202
{
203-
return new AadAccessKey(uri, new DefaultAzureCredential(), serverEndpointUri);
203+
return new AccessKeyForMicrosoftEntra(uri, new DefaultAzureCredential(), serverEndpointUri);
204204
}
205205

206206
private static AccessKey BuildAzureAppAccessKey(Uri uri, Uri serverEndpointUri, Dictionary<string, string> dict)
@@ -217,20 +217,20 @@ private static AccessKey BuildAzureAppAccessKey(Uri uri, Uri serverEndpointUri,
217217

218218
if (dict.TryGetValue(ClientSecretProperty, out var clientSecret))
219219
{
220-
return new AadAccessKey(uri, new ClientSecretCredential(tenantId, clientId, clientSecret), serverEndpointUri);
220+
return new AccessKeyForMicrosoftEntra(uri, new ClientSecretCredential(tenantId, clientId, clientSecret), serverEndpointUri);
221221
}
222222
else if (dict.TryGetValue(ClientCertProperty, out var clientCertPath))
223223
{
224-
return new AadAccessKey(uri, new ClientCertificateCredential(tenantId, clientId, clientCertPath), serverEndpointUri);
224+
return new AccessKeyForMicrosoftEntra(uri, new ClientCertificateCredential(tenantId, clientId, clientCertPath), serverEndpointUri);
225225
}
226226
throw new ArgumentException(MissingClientSecretProperty, ClientSecretProperty);
227227
}
228228

229229
private static AccessKey BuildAzureMsiAccessKey(Uri uri, Uri serverEndpointUri, Dictionary<string, string> dict)
230230
{
231231
return dict.TryGetValue(ClientIdProperty, out var clientId)
232-
? new AadAccessKey(uri, new ManagedIdentityCredential(clientId), serverEndpointUri)
233-
: new AadAccessKey(uri, new ManagedIdentityCredential(), serverEndpointUri);
232+
? new AccessKeyForMicrosoftEntra(uri, new ManagedIdentityCredential(clientId), serverEndpointUri)
233+
: new AccessKeyForMicrosoftEntra(uri, new ManagedIdentityCredential(), serverEndpointUri);
234234
}
235235

236236
private static Dictionary<string, string> ToDictionary(string connectionString)

src/Microsoft.Azure.SignalR.Common/Utilities/RestApiAccessTokenGenerator.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ public RestApiAccessTokenGenerator(AccessKey accessKey, string serverName = null
2727

2828
public Task<string> Generate(string audience, TimeSpan? lifetime = null)
2929
{
30-
if (_accessKey is AadAccessKey key)
30+
if (_accessKey is AccessKeyForMicrosoftEntra key)
3131
{
32-
return key.GenerateAadTokenAsync();
32+
return key.GetMicrosoftEntraTokenAsync();
3333
}
3434

3535
return _accessKey.GenerateAccessTokenAsync(

src/Microsoft.Azure.SignalR/EndpointProvider/ServiceEndpointProvider.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,9 @@ public string GetClientEndpoint(string hubName, string originalPath, string quer
6161

6262
public IAccessTokenProvider GetServerAccessTokenProvider(string hubName, string serverId)
6363
{
64-
if (_accessKey is AadAccessKey aadAccessKey)
64+
if (_accessKey is AccessKeyForMicrosoftEntra aadAccessKey)
6565
{
66-
return new AadTokenProvider(aadAccessKey);
66+
return new MicrosoftEntraTokenProvider(aadAccessKey);
6767
}
6868
else if (_accessKey is not null)
6969
{

0 commit comments

Comments
 (0)