Blazor WebAssembly
Configuration d'une application Blazor WebAssembly
<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>
...
<script src="_framework/blazor.webassembly.js"></script>
<script src="_content/MudBlazor/MudBlazor.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/aes.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/pbkdf2.js"></script>
<script src="_content/BeSwarm.CoreBlazorApp/coreblazorapp.js"></script>
</body>
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
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
builder.Services.AddScoped<ICryptoService, CryptoFromJS>();
BlazorWebAssembly ne proposant pas de chiffrement en natif, ce dernier est réalisé avec des librairies JS.
Il convient donc d'utiliser obligatoirement CryptoFromJS
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.
builder.Services.AddScoped<ILoginBeSwarmService, BlazorLoginBeSwarmService>();
<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://....";
}
La valeur ApplicationId et ClientSecret sont les informations obtenues après l'inscription de l'application sur la plateforme BeSwarm.
Ces informations sont des informations sensibles. L'application devra être en mesure de les protéger.
builder.Services.AddSingleton<ISecureConfig, SecureConfig>();