Skip to content

Commit a26772a

Browse files
authored
Merge pull request #9 from damienbod/dev
Update packages, improve endpoints
2 parents bd5ddcb + bf74a04 commit a26772a

File tree

8 files changed

+62
-10
lines changed

8 files changed

+62
-10
lines changed

Changelog.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
[Readme](https://github.com/damienbod/Blazor.BFF.OpenIDConnect.Template/blob/main/README.md)
44

5+
**2022-05-20** 1.2.0
6+
- Updated nuget packages
7+
- Improved endpoints
8+
59
**2022-03-20** 1.1.0
610
- Updated nuget packages
711
- Using nullable

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ nuget pack content/Blazor.BFF.OpenIDConnect.Template.nuspec
6969
Locally built nupkg:
7070

7171
```
72-
dotnet new -i Blazor.BFF.OpenIDConnect.Template.1.1.0.nupkg
72+
dotnet new -i Blazor.BFF.OpenIDConnect.Template.1.2.0.nupkg
7373
```
7474

7575
Local folder:

content/Blazor.BFF.OpenIDConnect.Template.nuspec

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
33
<metadata>
44
<id>Blazor.BFF.OpenIDConnect.Template</id>
5-
<version>1.1.0</version>
5+
<version>1.2.0</version>
66
<title>Blazor.BFF.OpenIDConnect.Template</title>
77
<license type="file">LICENSE</license>
8-
<description>Blazor BFF template for WASM ASP.NET Core hosted</description>
8+
<description>Blazor backend for frontend (BFF) template for WASM ASP.NET Core hosted</description>
99
<projectUrl>https://github.com/damienbod/Blazor.BFF.OpenIDConnect.Template</projectUrl>
1010
<authors>damienbod</authors>
1111
<owners>damienbod</owners>
@@ -15,7 +15,7 @@
1515
<requireLicenseAcceptance>false</requireLicenseAcceptance>
1616
<copyright>2022 damienbod</copyright>
1717
<summary>This template provides a simple Blazor template with BFF server authentication WASM hosted</summary>
18-
<releaseNotes>Updated nuget packages, using nullable</releaseNotes>
18+
<releaseNotes>Updated nuget packages, improved endpoints</releaseNotes>
1919
<repository type="git" url="https://github.com/damienbod/Blazor.BFF.OpenIDConnect.Template" />
2020
<packageTypes>
2121
<packageType name="Template" />

content/BlazorBffOpenIDConnect/Client/BlazorBffOpenIDConnect.Client.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
</PropertyGroup>
88

99
<ItemGroup>
10-
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="6.0.3" />
11-
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="6.0.3" PrivateAssets="all" />
10+
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="6.0.5" />
11+
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="6.0.5" PrivateAssets="all" />
1212
<PackageReference Include="Microsoft.Extensions.Http" Version="6.0.0" />
13-
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Authentication" Version="6.0.3" />
13+
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Authentication" Version="6.0.5" />
1414
</ItemGroup>
1515

1616
<ItemGroup>

content/BlazorBffOpenIDConnect/Server/BlazorBffOpenIDConnect.Server.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
</PropertyGroup>
77

88
<ItemGroup>
9-
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="6.0.3" />
9+
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="6.0.5" />
1010
</ItemGroup>
1111

1212
<ItemGroup>
@@ -15,8 +15,8 @@
1515
</ItemGroup>
1616

1717
<ItemGroup>
18-
<PackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="6.0.3" NoWarn="NU1605" />
19-
<PackageReference Include="IdentityModel.AspNetCore" Version="4.1.3" />
18+
<PackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="6.0.5" NoWarn="NU1605" />
19+
<PackageReference Include="IdentityModel.AspNetCore" Version="4.2.0" />
2020
<PackageReference Include="NetEscapades.AspNetCore.SecurityHeaders" Version="0.16.1" />
2121
</ItemGroup>
2222

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
using System.Linq;
2+
using Microsoft.AspNetCore.Builder;
3+
using Microsoft.Net.Http.Headers;
4+
5+
namespace BlazorBffOpenIDConnect.Server.Services;
6+
7+
public static class ApplicationBuilderExtensions
8+
{
9+
public static IApplicationBuilder UseNoUnauthorizedRedirect(this IApplicationBuilder applicationBuilder, params string[] segments)
10+
{
11+
applicationBuilder.Use(async (httpContext, func) =>
12+
{
13+
if (segments.Any(s => httpContext.Request.Path.StartsWithSegments(s)))
14+
{
15+
httpContext.Request.Headers[HeaderNames.XRequestedWith] = "XMLHttpRequest";
16+
}
17+
18+
await func();
19+
});
20+
21+
return applicationBuilder;
22+
}
23+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
using System.Threading.Tasks;
2+
using Microsoft.AspNetCore.Builder;
3+
using Microsoft.AspNetCore.Http;
4+
using Microsoft.AspNetCore.Routing;
5+
6+
namespace BlazorBffOpenIDConnect.Server.Services;
7+
8+
public static class EndpointRouteBuilderExtensions
9+
{
10+
public static IEndpointRouteBuilder MapNotFound(this IEndpointRouteBuilder endpointRouteBuilder, string pattern)
11+
{
12+
endpointRouteBuilder.Map(pattern, context =>
13+
{
14+
context.Response.StatusCode = StatusCodes.Status404NotFound;
15+
return Task.CompletedTask;
16+
});
17+
18+
return endpointRouteBuilder;
19+
}
20+
}

content/BlazorBffOpenIDConnect/Server/Startup.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
using BlazorBffOpenIDConnect.Server.Services;
12
using Microsoft.AspNetCore.Authentication.Cookies;
23
using Microsoft.AspNetCore.Authentication.OpenIdConnect;
34
using Microsoft.AspNetCore.Builder;
@@ -88,13 +89,17 @@ public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
8889
app.UseStaticFiles();
8990

9091
app.UseRouting();
92+
93+
app.UseNoUnauthorizedRedirect("/api");
94+
9195
app.UseAuthentication();
9296
app.UseAuthorization();
9397

9498
app.UseEndpoints(endpoints =>
9599
{
96100
endpoints.MapRazorPages();
97101
endpoints.MapControllers();
102+
endpoints.MapNotFound("/api/{**segment}");
98103
endpoints.MapFallbackToPage("/_Host");
99104
});
100105
}

0 commit comments

Comments
 (0)