Blazor-Auth0-ClientSide
0.6.0-beta-1
See the version list below for details.
dotnet add package Blazor-Auth0-ClientSide --version 0.6.0-beta-1
NuGet\Install-Package Blazor-Auth0-ClientSide -Version 0.6.0-beta-1
<PackageReference Include="Blazor-Auth0-ClientSide" Version="0.6.0-beta-1" />
paket add Blazor-Auth0-ClientSide --version 0.6.0-beta-1
#r "nuget: Blazor-Auth0-ClientSide, 0.6.0-beta-1"
// Install Blazor-Auth0-ClientSide as a Cake Addin #addin nuget:?package=Blazor-Auth0-ClientSide&version=0.6.0-beta-1&prerelease // Install Blazor-Auth0-ClientSide as a Cake Tool #tool nuget:?package=Blazor-Auth0-ClientSide&version=0.6.0-beta-1&prerelease
Blazor Auth0 Library (client-side)
This is a library for Blazor authentication with OIDC Authorization Code-Grant and Implicit-Grant flows, using Auth0's Universal Login and Silent Login for Blazor v3.0.0-preview5+ client side solutions, the idea behind this is to have an easy way of using Auth0's services in Blazor without the need of the auth0.js library.
Start using it in 3 simple steps!
- Start by adding a reference to Blazor-Auth0-ClientSide.0.6.0-beta-1 to your Blazor Client Side project
Install-Package Blazor-Auth0-ClientSide -Version 0.6.0-beta-1
- In Startup.cs, register the service inside ConfigureServices method
public void ConfigureServices(IServiceCollection services)
{
//...
services.AddScoped<HttpClient>();
services.AddScoped((sp) =>
{
return new Blazor.Auth0.Shared.Models.ClientSettings()
{
Auth0Domain = "[Auth0_Domain]",
Auth0ClientId = "[Auth0_Client_Id]",
//// Redirection to home can be forced uncommenting the following line this setting primes over Auth0RedirectUri
// RedirectAlwaysToHome = true,
//// Uncomment following line to force the user to be authenticated
// LoginRequired = true
};
});
services.AddScoped<Blazor.Auth0.ClientSide.Authentication.AuthenticationService>();
//...
}
Other options include:
- AuthenticationGrant: Allows you to choose between authorization_code (recommended) and implicit_grant authentication flows.
- RedirectAlwaysToHome: When set to true, forces the redirect_uri param to be the home path, this value overrides Auth0RedirectUri
- LoginRequired: When set to true, forces a redirection to the login page in case the user is not authenticated.
- GetUserInfoFromIdToken: When set to true, the serivce will use the id_token payload to build the user info, this is good in case all the user info you require is present in the id_token payload and you want avoid doing an extra call to Auth0, in case that tere's no id_token present in the authentication response the service will fall back gracefully to try to get the user info from an API call to auth0, default value is false
- Replace the content of App.razor with the following code
@using Blazor.Auth0.Shared.Models.Enumerations
@using Blazor.Auth0.ClientSide.Components
@using Blazor.Auth0.ClientSide.Authentication
@inject AuthenticationService _authService
<AuthComponent ProtectedPaths="protectedPaths">
@*Will render while determining user's session state*@
<UndefinedSessionStateContent>
Determining session state, please wait...
</UndefinedSessionStateContent>
@*Will render after determining session state*@
<AuthorizedContent>
<Router AppAssembly="typeof(Startup).Assembly">
<NotFoundContent>
<p>Sorry, there's nothing at this address.</p>
</NotFoundContent>
</Router>
</AuthorizedContent>
<UnAuthorizedContent>
ERROR 401: Unauthorized
</UnAuthorizedContent>
</AuthComponent>
@code {
List<string> protectedPaths = new List<string> {
"fetchdata"
};
}
Other options include:
- ProtectedPaths: Allows you to indicate a list of paths that requires an authenticated user, only affects if LoginRequired is set to false.
- LoginRequiredOnProtectedPaths: Alters the ProtectedPaths behavior. When set to true redirect the user to the login page automatically, otherwise, the content from the UnAuthorizedContent fragment will be rendered.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Blazor-Auth0-Shared (>= 0.3.1-beta-1)
- Microsoft.AspNetCore.Components (>= 3.0.0-preview6.19307.2)
- Microsoft.AspNetCore.Components.Browser (>= 3.0.0-preview6.19307.2)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Blazor-Auth0-ClientSide:
Package | Downloads |
---|---|
Blazor-OpenId
OpenId library for Balzor |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on Blazor-Auth0-ClientSide:
Repository | Stars |
---|---|
henalbrod/Blazor.Auth0
The library for using Auth0 in Blazor applications.
|
Version | Downloads | Last updated |
---|---|---|
2.0.0-Preview5 | 1,385 | 3/4/2020 |
2.0.0-Preview4 | 756 | 11/17/2019 |
2.0.0-Preview3 | 300 | 11/4/2019 |
2.0.0-Preview2 | 292 | 11/4/2019 |
2.0.0-Preview1 | 272 | 10/26/2019 |
1.0.0-Preview3 | 998 | 9/23/2019 |
1.0.0-Preview2 | 297 | 9/19/2019 |
1.0.0-Preview1 | 313 | 8/24/2019 |
0.7.2-beta.2 | 343 | 7/25/2019 |
0.7.0-beta.1 | 336 | 6/15/2019 |
0.6.0-beta-1 | 300 | 6/14/2019 |
0.5.1-alpha-2 | 356 | 6/12/2019 |
0.5.0-alpha-1 | 402 | 6/5/2019 |
0.4.0-alpha-2 | 421 | 5/8/2019 |
0.4.0-alpha-1 | 477 | 4/20/2019 |
0.3.0-alpha-3 | 433 | 4/20/2019 |
Updated to .NET Core 3.0 Preview 6
Breaking Changes:
AuthComponent ActiveSessionStateContent Removed
AuthComponent InactiveSessionStateContent Removed
AuthComponent ActiveInactiveSessionStateContent Removed
AuthComponent AuthorizedContent Added
AuthComponent UnAuthorizedContent Added
AuthComponent ProtectedPaths Added: Now you can indicate a list of paths, Unauthorized users will either get an 401 error page or redirected to the login page (see ForceLoginOnProtectedPaths)
AuthComponent ForceLoginOnProtectedPaths Added: When set to true will redirect Unauthorized users to the login page