| File: Options\DefaultApiAuthorizationOptionsConfiguration.cs | Web Access |
| Project: src\aspnetcore\src\Components\WebAssembly\WebAssembly.Authentication\src\Microsoft.AspNetCore.Components.WebAssembly.Authentication.csproj (Microsoft.AspNetCore.Components.WebAssembly.Authentication) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.Extensions.Options; namespace Microsoft.AspNetCore.Components.WebAssembly.Authentication; internal sealed class DefaultApiAuthorizationOptionsConfiguration : IPostConfigureOptions<RemoteAuthenticationOptions<ApiAuthorizationProviderOptions>> { private readonly string _applicationName; public DefaultApiAuthorizationOptionsConfiguration(string applicationName) => _applicationName = applicationName; public void Configure(RemoteAuthenticationOptions<ApiAuthorizationProviderOptions> options) { options.ProviderOptions.ConfigurationEndpoint ??= $"_configuration/{_applicationName}"; options.AuthenticationPaths.RemoteRegisterPath ??= "Identity/Account/Register"; options.AuthenticationPaths.RemoteProfilePath ??= "Identity/Account/Manage"; options.UserOptions.ScopeClaim ??= "scope"; options.UserOptions.RoleClaim ??= "role"; options.UserOptions.AuthenticationType ??= _applicationName; } public void PostConfigure(string? name, RemoteAuthenticationOptions<ApiAuthorizationProviderOptions> options) { if (string.Equals(name, Options.DefaultName)) { Configure(options); } } }