Bitwarden.Server.Sdk.Authentication
0.6.0
Prefix Reserved
dotnet add package Bitwarden.Server.Sdk.Authentication --version 0.6.0
NuGet\Install-Package Bitwarden.Server.Sdk.Authentication -Version 0.6.0
<PackageReference Include="Bitwarden.Server.Sdk.Authentication" Version="0.6.0" />
<PackageVersion Include="Bitwarden.Server.Sdk.Authentication" Version="0.6.0" />
<PackageReference Include="Bitwarden.Server.Sdk.Authentication" />
paket add Bitwarden.Server.Sdk.Authentication --version 0.6.0
#r "nuget: Bitwarden.Server.Sdk.Authentication, 0.6.0"
#:package Bitwarden.Server.Sdk.Authentication@0.6.0
#addin nuget:?package=Bitwarden.Server.Sdk.Authentication&version=0.6.0
#tool nuget:?package=Bitwarden.Server.Sdk.Authentication&version=0.6.0
Bitwarden.Server.Sdk.Authentication
About
This package enables the ability to have Bitwarden flavored authentication.
How to use
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddBitwardenAuthentication();
builder.Services.AddAuthorization(options =>
{
options.AddPolicy("MyPolicy",
policy => policy
.RequireAuthenticatedUser()
.RequireClaim("my_claim", "my_value")
);
});
var app = builder.Build();
app.UseRouting();
app.UseBitwardenAuthentication();
app.UseAuthorization();
app.MapGet("/", () =>
{
return Results.Ok("Hello!");
})
.RequireAuthorization("MyPolicy");
app.Run();
The UseBitwardenAuthentication() replaces the need for UseAuthentication but it does NOT replace
the need for UseAuthorization().
Customization
Authentication can be configured via any property in the JwtBearerOptions
class through the Authentication:Schemes:Bearer configuration section. The only required setting
is Authentication:Schemes:Bearer:Authority which should be a URL of the Bitwarden Identity service
you trust. If you need to change the MapInboundClaims,
TokenValidationParameters.ValidateAudience, TokenValidationParameters.ValidTypes, or
TokenValidationParameters.NameClaimType options you can not do so through the previous mentioned
configuration section and must instead do something like:
services.AddOptions<JwtBearerOptions>(JwtBearerDefaults.AuthenticationScheme)
.PostConfigure(options =>
{
options.MapInboundClaims = true;
});
Below is an example of configuring the authority through JSON configuration.
{
"Authentication": {
"Schemes": {
"Bearer": {
"Authority": "https://identity.bitwarden.com"
}
}
}
}
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Microsoft.AspNetCore.Authentication.JwtBearer (>= 8.0.20)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.