Skip to content

Commit f496c57

Browse files
authored
Update dependencies of SignalR extensions (Azure#48280)
* Update dependencies and refactor SignalR extensions * Removed and relocated `Microsoft.Azure.Functions.Extensions` package references in various project files. * Modify `AddDefaultAuth` method in `SignalRFunctionsHostBuilderExtensions.cs` to use `IServiceCollection` instead of `IFunctionsHostBuilder` to remove the dependency for legacy pacakge `Microsoft.Azure.Functions.Extensions`. * Pin common dependency versions * fix * Fix * Remove version override * Override version * Update override to 1.7.5 * override to 1.8.0
1 parent df65b03 commit f496c57

7 files changed

+19
-25
lines changed

eng/Packages.Data.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,6 @@
231231
<PackageReference Update="Microsoft.AspNetCore.DataProtection" Version="3.1.32" />
232232
<PackageReference Update="Microsoft.AspNetCore.Http" Version="2.1.22" />
233233
<PackageReference Update="Microsoft.AspNetCore.Http.Connections" Version="1.0.15" />
234-
<PackageReference Update="Microsoft.Azure.Functions.Extensions" Version="1.0.0" />
235234
<PackageReference Update="Microsoft.Azure.Functions.Worker.Extensions.Abstractions" Version="1.1.0" />
236235
<PackageReference Update="Microsoft.Extensions.Azure" Version="1.10.0" />
237236
<PackageReference Update="Microsoft.Extensions.DependencyInjection.Abstractions" Version="2.1.0" />
@@ -318,6 +317,7 @@
318317
<PackageReference Update="Microsoft.Azure.Devices.Client" Version="1.41.3" />
319318
<PackageReference Update="Microsoft.Azure.EventHubs" Version="4.3.2" />
320319
<PackageReference Update="Microsoft.Azure.EventHubs.Processor" Version="4.3.2" />
320+
<PackageReference Update="Microsoft.Azure.Functions.Extensions" Version="1.0.0" />
321321
<PackageReference Update="Microsoft.Azure.Graph.RBAC" Version="2.2.2-preview" />
322322
<PackageReference Update="Microsoft.Azure.KeyVault" Version="3.0.5" />
323323
<PackageReference Update="Microsoft.Azure.KeyVault.Core" Version="3.0.5" />

sdk/signalr/Microsoft.Azure.WebJobs.Extensions.SignalRService/CHANGELOG.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
### Features Added
66

77
### Breaking Changes
8-
* Remove .NET 6.0 support.
8+
* Modify `AddDefaultAuth` method in `SignalRFunctionsHostBuilderExtensions.cs` to use `IServiceCollection` instead of `IFunctionsHostBuilder` to remove the dependency for legacy package `Microsoft.Azure.Functions.Extensions`.
99

1010
### Bugs Fixed
1111
* Correctly support returning result for SignalR invocation in MessagePack protocol from isolated-worker process.
@@ -33,7 +33,7 @@
3333

3434
## 1.12.0 (2023-11-07)
3535
### Features Added
36-
* Added `RetryOptions` to `SignalROptions` to configure retry policy for SignalR Service REST API calls. For more infomation about cutomize retry options, see samples.
36+
* Added `RetryOptions` to `SignalROptions` to configure retry policy for SignalR Service REST API calls. For more infomation about customize retry options, see samples.
3737
* Added `HttpClientTimeout` to `SignalROptions` to configure HTTP client timeout for SignalR Service REST API calls. The default value is 100 seconds. User can also set "AzureSignalRHttpClientTimeout" in the app settings to override the default value.
3838

3939
### Bugs Fixed
@@ -84,7 +84,7 @@
8484

8585
### Bugs Fixed
8686
* Fixed the message order problem.
87-
* Fixed the ackable message timeout problem when multiple SignalR endpoints exist.
87+
* Fixed the ack-able message timeout problem when multiple SignalR endpoints exist.
8888

8989
## 1.7.0 (2022-02-22)
9090
**Following are the all changes in 1.7.0-beta.2 and 1.7.0-beta.1 versions.**

sdk/signalr/Microsoft.Azure.WebJobs.Extensions.SignalRService/api/Microsoft.Azure.WebJobs.Extensions.SignalRService.net8.0.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ protected SignalRFilterAttribute() { }
185185
}
186186
public static partial class SignalRFunctionsHostBuilderExtensions
187187
{
188-
public static Microsoft.Azure.Functions.Extensions.DependencyInjection.IFunctionsHostBuilder AddDefaultAuth(this Microsoft.Azure.Functions.Extensions.DependencyInjection.IFunctionsHostBuilder builder, System.Action<Microsoft.IdentityModel.Tokens.TokenValidationParameters> configureTokenValidationParameters, System.Func<Microsoft.Azure.WebJobs.Extensions.SignalRService.SecurityTokenResult, Microsoft.AspNetCore.Http.HttpRequest, Microsoft.Azure.WebJobs.Extensions.SignalRService.SignalRConnectionDetail, Microsoft.Azure.WebJobs.Extensions.SignalRService.SignalRConnectionDetail> configurer = null) { throw null; }
188+
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDefaultAuth(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action<Microsoft.IdentityModel.Tokens.TokenValidationParameters> configureTokenValidationParameters, System.Func<Microsoft.Azure.WebJobs.Extensions.SignalRService.SecurityTokenResult, Microsoft.AspNetCore.Http.HttpRequest, Microsoft.Azure.WebJobs.Extensions.SignalRService.SignalRConnectionDetail, Microsoft.Azure.WebJobs.Extensions.SignalRService.SignalRConnectionDetail> configurer = null) { throw null; }
189189
}
190190
[Newtonsoft.Json.JsonObjectAttribute]
191191
public partial class SignalRGroupAction

sdk/signalr/Microsoft.Azure.WebJobs.Extensions.SignalRService/api/Microsoft.Azure.WebJobs.Extensions.SignalRService.netstandard2.0.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ protected SignalRFilterAttribute() { }
185185
}
186186
public static partial class SignalRFunctionsHostBuilderExtensions
187187
{
188-
public static Microsoft.Azure.Functions.Extensions.DependencyInjection.IFunctionsHostBuilder AddDefaultAuth(this Microsoft.Azure.Functions.Extensions.DependencyInjection.IFunctionsHostBuilder builder, System.Action<Microsoft.IdentityModel.Tokens.TokenValidationParameters> configureTokenValidationParameters, System.Func<Microsoft.Azure.WebJobs.Extensions.SignalRService.SecurityTokenResult, Microsoft.AspNetCore.Http.HttpRequest, Microsoft.Azure.WebJobs.Extensions.SignalRService.SignalRConnectionDetail, Microsoft.Azure.WebJobs.Extensions.SignalRService.SignalRConnectionDetail> configurer = null) { throw null; }
188+
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDefaultAuth(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action<Microsoft.IdentityModel.Tokens.TokenValidationParameters> configureTokenValidationParameters, System.Func<Microsoft.Azure.WebJobs.Extensions.SignalRService.SecurityTokenResult, Microsoft.AspNetCore.Http.HttpRequest, Microsoft.Azure.WebJobs.Extensions.SignalRService.SignalRConnectionDetail, Microsoft.Azure.WebJobs.Extensions.SignalRService.SignalRConnectionDetail> configurer = null) { throw null; }
189189
}
190190
[Newtonsoft.Json.JsonObjectAttribute]
191191
public partial class SignalRGroupAction
Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33

44
using System;
55
using System.Linq;
6+
67
using Microsoft.AspNetCore.Http;
7-
using Microsoft.Azure.Functions.Extensions.DependencyInjection;
88
using Microsoft.Extensions.DependencyInjection;
99
using Microsoft.Extensions.DependencyInjection.Extensions;
1010
using Microsoft.IdentityModel.Tokens;
@@ -21,15 +21,14 @@ public static class SignalRFunctionsHostBuilderExtensions
2121
/// <summary>
2222
/// Adds security token validation parameters' configuration and SignalR connection's configuration.
2323
/// </summary>
24-
/// <param name="builder">Azure function host builder</param>
24+
/// <param name="services">The service collections to add default auth.</param>
2525
/// <param name="configureTokenValidationParameters">Token validation parameters to validate security token</param>
2626
/// <param name="configurer">SignalR connection configuration to be used in generating Azure SignalR service's access token</param>
27-
/// <returns><see cref="IFunctionsHostBuilder"/>Azure function host builder</returns>
28-
public static IFunctionsHostBuilder AddDefaultAuth(this IFunctionsHostBuilder builder, Action<TokenValidationParameters> configureTokenValidationParameters, SignalRConnectionInfoConfigureFunc configurer = null)
27+
public static IServiceCollection AddDefaultAuth(this IServiceCollection services, Action<TokenValidationParameters> configureTokenValidationParameters, SignalRConnectionInfoConfigureFunc configurer = null)
2928
{
30-
if (builder == null)
29+
if (services == null)
3130
{
32-
throw new ArgumentNullException(nameof(builder));
31+
throw new ArgumentNullException(nameof(services));
3332
}
3433

3534
if (configureTokenValidationParameters == null)
@@ -39,20 +38,20 @@ public static IFunctionsHostBuilder AddDefaultAuth(this IFunctionsHostBuilder bu
3938

4039
var internalSignalRConnectionInfoConfigurer = new InternalSignalRConnectionInfoConfigurer(configurer);
4140

42-
if (builder.Services.Any(d => d.ServiceType == typeof(ISecurityTokenValidator)))
41+
if (services.Any(d => d.ServiceType == typeof(ISecurityTokenValidator)))
4342
{
4443
throw new NotSupportedException($"{nameof(ISecurityTokenValidator)} already injected.");
4544
}
4645

47-
builder.Services
46+
services
4847
.AddSingleton<ISecurityTokenValidator>(s =>
4948
new DefaultSecurityTokenValidator(configureTokenValidationParameters));
5049

51-
builder.Services.
50+
services.
5251
TryAddSingleton<ISignalRConnectionInfoConfigurer>(s =>
5352
internalSignalRConnectionInfoConfigurer);
5453

55-
return builder;
54+
return services;
5655
}
5756

5857
private class InternalSignalRConnectionInfoConfigurer : ISignalRConnectionInfoConfigurer

sdk/signalr/Microsoft.Azure.WebJobs.Extensions.SignalRService/src/Microsoft.Azure.WebJobs.Extensions.SignalRService.csproj

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,14 @@
1212

1313
<ItemGroup>
1414
<PackageReference Include="MessagePack" />
15-
<PackageReference Include="Microsoft.Extensions.Azure" />
16-
<PackageReference Include="Microsoft.Azure.Functions.Extensions" />
15+
<PackageReference Include="Microsoft.Azure.WebJobs" />
1716
<PackageReference Include="Microsoft.Azure.SignalR.Management" />
1817
<PackageReference Include="Microsoft.Azure.SignalR" />
1918
<PackageReference Include="Microsoft.Azure.SignalR.Protocols" />
2019
<PackageReference Include="Microsoft.Azure.SignalR.Serverless.Protocols" />
20+
<!--According to https://github.com/Azure/azure-sdk-for-net/pull/48280#discussion_r1972339492, 1.8.0 is the latest safe version.-->
21+
<PackageReference Include="Microsoft.Extensions.Azure" VersionOverride="1.8.0" />
2122
<PackageReference Include="System.IdentityModel.Tokens.Jwt" />
22-
23-
<!--
24-
Adding as a local override, as packages should not generally take this dependency. It is
25-
needed here due to a transitive version conflict due to the Microsoft.Azure.Functions.Extensions
26-
reference.
27-
-->
28-
<PackageReference Include="Microsoft.Extensions.DependencyInjection" VersionOverride ="8.0.1" />
2923
</ItemGroup>
3024

3125
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">

sdk/signalr/Microsoft.Azure.WebJobs.Extensions.SignalRService/tests/Microsoft.Azure.WebJobs.Extensions.SignalRService.Tests.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<ItemGroup>
3+
<PackageReference Include="Microsoft.Azure.Functions.Extensions" />
34
<PackageReference Include="Microsoft.Azure.SignalR.Management" />
45
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.Http" />
56
<PackageReference Include="Microsoft.NET.Test.Sdk" />

0 commit comments

Comments
 (0)