Blazor Server
Configuration d'une application Blazor Server
_Layout.cshtml
<head>
...
<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap" rel="stylesheet" />
<link href="_content/MudBlazor/MudBlazor.min.css" rel="stylesheet" />
</head>
<body>
@RenderBody()
...
<script src="_framework/blazor.server.js"></script>
<script src="_content/MudBlazor/MudBlazor.min.js"></script>
</body>
program.cs
builder.Services.AddCoreBlazorApp();
Configuration de la persistance
Elle permet de stocker l'état de la session soit dans le local storage soit dans le session storage
program.cs
builder.Services.AddScoped<ISessionPersistence,SessionPersistenceToSessionWeb>();
ou
builder.Services.AddScoped<ISessionPersistence, SessionPersistenceToLocalWeb>();
Configuration du chiffrement.
C'est le chiffrement qui est utilisé pour les données stockées dans le local storage ou le session storage
program.cs
builder.Services.AddScoped<ICryptoService, CryptoFromNativeNetCore>();
Configuration de l'url de rappel
CoreBlazorApp propose en standard une url de rappel nommée Login. Elle peut donc être utilisée lors de l'inscription de l'application sur la plateforme BeSwarm.
program.cs
builder.Services.AddScoped<ILoginBeSwarmService, BlazorLoginBeSwarmService>();
App.razor
<Router AppAssembly="@typeof(App).Assembly"
AdditionalAssemblies="new[] { typeof(BeSwarm.CoreBlazorApp.Pages.Login).Assembly}"
>
Configuration de l'authentification oauth2.
public class SecureConfig : ISecureConfig
{
public string ServiceEntryPoint { get; set; } = "https://dev.beswarm.net";
public string UserSwarm { get; set; } = "testdev";
public string ApplicationId { get; set; } = "....";
public string ClientSecret { get; set; } = "....";
public string CallBackUri { get; set; } = "https:.....";
}
Information
La valeur ApplicationId et ClientSecret sont les informations obtenues après l'inscription de l'application sur la plateforme BeSwarm.
Attention
Ces informations sont des informations sensibles. L'application devra être en mesure de les protéger.
program.cs
builder.Services.AddSingleton<ISecureConfig, SecureConfig>();