From 992e9a439346689a8fa4e02b54c8e91322381032 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Mon, 22 Aug 2022 14:15:32 +0800 Subject: [PATCH 1/3] Annotate WebAssembly.Authentication for nullability --- .../Components/src/NavigationManager.cs | 2 +- .../Components/src/PublicAPI.Unshipped.txt | 2 + ...mponents.WebAssembly.Authentication.csproj | 1 - .../src/Models/AccessToken.cs | 4 +- .../src/Models/InteractiveRequestOptions.cs | 16 +- .../src/Models/RemoteAuthenticationContext.cs | 6 +- .../src/Models/RemoteAuthenticationResult.cs | 4 +- .../src/Models/RemoteAuthenticationState.cs | 2 +- .../src/Models/RemoteUserAccount.cs | 2 +- .../src/NavigationManagerExtensions.cs | 4 +- .../ApiAuthorizationProviderOptions.cs | 2 +- ...ultApiAuthorizationOptionsConfiguration.cs | 2 +- ...DefaultOidcProviderOptionsConfiguration.cs | 2 +- .../src/Options/OidcProviderOptions.cs | 14 +- ...teAuthenticationApplicationPathsOptions.cs | 4 +- .../RemoteAuthenticationUserOptions.cs | 6 +- .../src/PublicAPI.Shipped.txt | 348 +++++++++--------- .../src/PublicAPI.Unshipped.txt | 36 +- .../src/RemoteAuthenticatorViewCore.Log.cs | 2 +- .../src/RemoteAuthenticatorViewCore.cs | 56 +-- .../Services/AccessTokenProviderAccessor.cs | 2 +- .../src/Services/AccessTokenRequestOptions.cs | 4 +- .../src/Services/AccessTokenResult.cs | 10 +- .../Services/AccountClaimsPrincipalFactory.cs | 2 +- .../Services/AuthorizationMessageHandler.cs | 16 +- .../src/Services/ExpiredTokenException.cs | 8 +- .../Services/RemoteAuthenticationService.cs | 4 +- ...thenticationServiceCollectionExtensions.cs | 16 +- 28 files changed, 289 insertions(+), 288 deletions(-) diff --git a/src/Components/Components/src/NavigationManager.cs b/src/Components/Components/src/NavigationManager.cs index c8e0908b6375..7e71bf0110cd 100644 --- a/src/Components/Components/src/NavigationManager.cs +++ b/src/Components/Components/src/NavigationManager.cs @@ -209,7 +209,7 @@ protected virtual void EnsureInitialized() /// /// The relative URI. /// The absolute URI. - public Uri ToAbsoluteUri(string relativeUri) + public Uri ToAbsoluteUri(string? relativeUri) { AssertInitialized(); return new Uri(_baseUri!, relativeUri); diff --git a/src/Components/Components/src/PublicAPI.Unshipped.txt b/src/Components/Components/src/PublicAPI.Unshipped.txt index 68457b0dbca1..ea398838a45c 100644 --- a/src/Components/Components/src/PublicAPI.Unshipped.txt +++ b/src/Components/Components/src/PublicAPI.Unshipped.txt @@ -56,3 +56,5 @@ static Microsoft.AspNetCore.Components.EventCallbackFactoryBinderExtensions.Crea static Microsoft.AspNetCore.Components.EventCallbackFactoryBinderExtensions.CreateBinder(this Microsoft.AspNetCore.Components.EventCallbackFactory! factory, object! receiver, Microsoft.AspNetCore.Components.EventCallback setter, T existingValue, System.Globalization.CultureInfo? culture = null) -> Microsoft.AspNetCore.Components.EventCallback virtual Microsoft.AspNetCore.Components.NavigationManager.HandleLocationChangingHandlerException(System.Exception! ex, Microsoft.AspNetCore.Components.Routing.LocationChangingContext! context) -> void virtual Microsoft.AspNetCore.Components.NavigationManager.SetNavigationLockState(bool value) -> void +*REMOVED*Microsoft.AspNetCore.Components.NavigationManager.ToAbsoluteUri(string! relativeUri) -> System.Uri! +Microsoft.AspNetCore.Components.NavigationManager.ToAbsoluteUri(string? relativeUri) -> System.Uri! diff --git a/src/Components/WebAssembly/WebAssembly.Authentication/src/Microsoft.AspNetCore.Components.WebAssembly.Authentication.csproj b/src/Components/WebAssembly/WebAssembly.Authentication/src/Microsoft.AspNetCore.Components.WebAssembly.Authentication.csproj index 345236f69466..a84d9a833525 100644 --- a/src/Components/WebAssembly/WebAssembly.Authentication/src/Microsoft.AspNetCore.Components.WebAssembly.Authentication.csproj +++ b/src/Components/WebAssembly/WebAssembly.Authentication/src/Microsoft.AspNetCore.Components.WebAssembly.Authentication.csproj @@ -8,7 +8,6 @@ true true true - disable true diff --git a/src/Components/WebAssembly/WebAssembly.Authentication/src/Models/AccessToken.cs b/src/Components/WebAssembly/WebAssembly.Authentication/src/Models/AccessToken.cs index 3172987d085b..0531b205005c 100644 --- a/src/Components/WebAssembly/WebAssembly.Authentication/src/Models/AccessToken.cs +++ b/src/Components/WebAssembly/WebAssembly.Authentication/src/Models/AccessToken.cs @@ -11,7 +11,7 @@ public class AccessToken /// /// Gets or sets the list of granted scopes for the token. /// - public IReadOnlyList GrantedScopes { get; set; } + public IReadOnlyList GrantedScopes { get; set; } = default!; /// /// Gets the expiration time of the token. @@ -21,5 +21,5 @@ public class AccessToken /// /// Gets the serialized representation of the token. /// - public string Value { get; set; } + public string Value { get; set; } = default!; } diff --git a/src/Components/WebAssembly/WebAssembly.Authentication/src/Models/InteractiveRequestOptions.cs b/src/Components/WebAssembly/WebAssembly.Authentication/src/Models/InteractiveRequestOptions.cs index 870b42e3dbfe..bb7450c15b3f 100644 --- a/src/Components/WebAssembly/WebAssembly.Authentication/src/Models/InteractiveRequestOptions.cs +++ b/src/Components/WebAssembly/WebAssembly.Authentication/src/Models/InteractiveRequestOptions.cs @@ -27,9 +27,9 @@ public sealed class InteractiveRequestOptions /// /// Gets the scopes this request must use in the operation. /// - public IEnumerable Scopes { get; init; } + public IEnumerable Scopes { get; init; } = Array.Empty(); - private Dictionary AdditionalRequestParameters { get; set; } + private Dictionary? AdditionalRequestParameters { get; set; } /// /// Tries to add an additional parameter to pass in to the underlying provider. @@ -43,7 +43,7 @@ public sealed class InteractiveRequestOptions { ArgumentNullException.ThrowIfNull(name, nameof(name)); AdditionalRequestParameters ??= new(); - return AdditionalRequestParameters.TryAdd(name, value); + return AdditionalRequestParameters.TryAdd(name, value!); } /// @@ -58,7 +58,7 @@ public bool TryRemoveAdditionalParameter(string name) /// /// Tries to retrieve an existing additional parameter. /// - public bool TryGetAdditionalParameter<[DynamicallyAccessedMembers(JsonSerialized)] TValue>(string name, out TValue value) + public bool TryGetAdditionalParameter<[DynamicallyAccessedMembers(JsonSerialized)] TValue>(string name, out TValue? value) { ArgumentNullException.ThrowIfNull(name); @@ -70,7 +70,7 @@ public bool TryRemoveAdditionalParameter(string name) if (rawValue is JsonElement json) { value = Deserialize(json); - AdditionalRequestParameters[name] = value; + AdditionalRequestParameters[name] = value!; return true; } else @@ -83,14 +83,14 @@ public bool TryRemoveAdditionalParameter(string name) "Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "The types this method deserializes are anotated with 'DynamicallyAccessedMembers' to prevent them from being linked out as part of 'TryAddAdditionalParameter'.")] - static TValue Deserialize(JsonElement element) => element.Deserialize(); + static TValue Deserialize(JsonElement element) => element.Deserialize()!; } internal string ToState() => JsonSerializer.Serialize(this, InteractiveRequestOptionsSerializerContext.Default.InteractiveRequestOptions); internal static InteractiveRequestOptions FromState(string state) => JsonSerializer.Deserialize( state, - InteractiveRequestOptionsSerializerContext.Default.InteractiveRequestOptions); + InteractiveRequestOptionsSerializerContext.Default.InteractiveRequestOptions)!; internal class Converter : JsonConverter { @@ -119,7 +119,7 @@ internal record struct OptionsRecord( [property: JsonInclude] string ReturnUrl, [property: JsonInclude] IEnumerable Scopes, [property: JsonInclude] InteractionType Interaction, - [property: JsonInclude] Dictionary AdditionalRequestParameters); + [property: JsonInclude] Dictionary? AdditionalRequestParameters); } } diff --git a/src/Components/WebAssembly/WebAssembly.Authentication/src/Models/RemoteAuthenticationContext.cs b/src/Components/WebAssembly/WebAssembly.Authentication/src/Models/RemoteAuthenticationContext.cs index 3ad157595ccb..7cee47cf2000 100644 --- a/src/Components/WebAssembly/WebAssembly.Authentication/src/Models/RemoteAuthenticationContext.cs +++ b/src/Components/WebAssembly/WebAssembly.Authentication/src/Models/RemoteAuthenticationContext.cs @@ -15,15 +15,15 @@ public class RemoteAuthenticationContext<[DynamicallyAccessedMembers(JsonSeriali /// /// Gets or sets the url for the current authentication operation. /// - public string Url { get; set; } + public string? Url { get; set; } /// /// Gets or sets the state instance for the current authentication operation. /// - public TRemoteAuthenticationState State { get; set; } + public TRemoteAuthenticationState? State { get; set; } /// /// Gets or sets the interaction request for the current authentication operation. /// - public InteractiveRequestOptions InteractiveRequest { get; set; } + public InteractiveRequestOptions? InteractiveRequest { get; set; } } diff --git a/src/Components/WebAssembly/WebAssembly.Authentication/src/Models/RemoteAuthenticationResult.cs b/src/Components/WebAssembly/WebAssembly.Authentication/src/Models/RemoteAuthenticationResult.cs index 04060323fc2c..383ad758c7a1 100644 --- a/src/Components/WebAssembly/WebAssembly.Authentication/src/Models/RemoteAuthenticationResult.cs +++ b/src/Components/WebAssembly/WebAssembly.Authentication/src/Models/RemoteAuthenticationResult.cs @@ -17,10 +17,10 @@ public class RemoteAuthenticationResult where TRemot /// /// Gets or sets the error message of a failed authentication operation. /// - public string ErrorMessage { get; set; } + public string? ErrorMessage { get; set; } /// /// Gets or sets the preserved state of a successful authentication operation. /// - public TRemoteAuthenticationState State { get; set; } + public TRemoteAuthenticationState? State { get; set; } } diff --git a/src/Components/WebAssembly/WebAssembly.Authentication/src/Models/RemoteAuthenticationState.cs b/src/Components/WebAssembly/WebAssembly.Authentication/src/Models/RemoteAuthenticationState.cs index c3f0c48dd308..424802fd166e 100644 --- a/src/Components/WebAssembly/WebAssembly.Authentication/src/Models/RemoteAuthenticationState.cs +++ b/src/Components/WebAssembly/WebAssembly.Authentication/src/Models/RemoteAuthenticationState.cs @@ -12,5 +12,5 @@ public class RemoteAuthenticationState /// Gets or sets the URL to which the application should redirect after a successful authentication operation. /// It must be a url within the page. /// - public string ReturnUrl { get; set; } + public string? ReturnUrl { get; set; } } diff --git a/src/Components/WebAssembly/WebAssembly.Authentication/src/Models/RemoteUserAccount.cs b/src/Components/WebAssembly/WebAssembly.Authentication/src/Models/RemoteUserAccount.cs index fc8298ba6329..c1fd843e9442 100644 --- a/src/Components/WebAssembly/WebAssembly.Authentication/src/Models/RemoteUserAccount.cs +++ b/src/Components/WebAssembly/WebAssembly.Authentication/src/Models/RemoteUserAccount.cs @@ -17,5 +17,5 @@ public class RemoteUserAccount /// Gets or sets properties not explicitly mapped about the user. /// [JsonExtensionData] - public IDictionary AdditionalProperties { get; set; } + public IDictionary AdditionalProperties { get; set; } = default!; } diff --git a/src/Components/WebAssembly/WebAssembly.Authentication/src/NavigationManagerExtensions.cs b/src/Components/WebAssembly/WebAssembly.Authentication/src/NavigationManagerExtensions.cs index 11e682311369..1aaa94ab7ea3 100644 --- a/src/Components/WebAssembly/WebAssembly.Authentication/src/NavigationManagerExtensions.cs +++ b/src/Components/WebAssembly/WebAssembly.Authentication/src/NavigationManagerExtensions.cs @@ -32,14 +32,14 @@ public static void NavigateToLogout(this NavigationManager manager, [StringSynta /// The . /// The path to navigate too. /// The url to redirect the user to after logging out. - public static void NavigateToLogout(this NavigationManager manager, [StringSyntax(StringSyntaxAttribute.Uri, UriKind.Relative)] string logoutPath, [StringSyntax(StringSyntaxAttribute.Uri)] string returnUrl) + public static void NavigateToLogout(this NavigationManager manager, [StringSyntax(StringSyntaxAttribute.Uri, UriKind.Relative)] string logoutPath, [StringSyntax(StringSyntaxAttribute.Uri)] string? returnUrl) { manager.NavigateTo(logoutPath, new NavigationOptions { HistoryEntryState = new InteractiveRequestOptions { Interaction = InteractionType.SignOut, - ReturnUrl = returnUrl + ReturnUrl = returnUrl! }.ToState() }); } diff --git a/src/Components/WebAssembly/WebAssembly.Authentication/src/Options/ApiAuthorizationProviderOptions.cs b/src/Components/WebAssembly/WebAssembly.Authentication/src/Options/ApiAuthorizationProviderOptions.cs index d58ff0c0c33f..3fda7b35bbca 100644 --- a/src/Components/WebAssembly/WebAssembly.Authentication/src/Options/ApiAuthorizationProviderOptions.cs +++ b/src/Components/WebAssembly/WebAssembly.Authentication/src/Options/ApiAuthorizationProviderOptions.cs @@ -11,5 +11,5 @@ public class ApiAuthorizationProviderOptions /// /// Gets or sets the endpoint to call to retrieve the authentication settings for the application. /// - public string ConfigurationEndpoint { get; set; } + public string? ConfigurationEndpoint { get; set; } } diff --git a/src/Components/WebAssembly/WebAssembly.Authentication/src/Options/DefaultApiAuthorizationOptionsConfiguration.cs b/src/Components/WebAssembly/WebAssembly.Authentication/src/Options/DefaultApiAuthorizationOptionsConfiguration.cs index b9daa91f19ba..f216bbac3225 100644 --- a/src/Components/WebAssembly/WebAssembly.Authentication/src/Options/DefaultApiAuthorizationOptionsConfiguration.cs +++ b/src/Components/WebAssembly/WebAssembly.Authentication/src/Options/DefaultApiAuthorizationOptionsConfiguration.cs @@ -21,7 +21,7 @@ public void Configure(RemoteAuthenticationOptions options) + public void PostConfigure(string? name, RemoteAuthenticationOptions options) { if (string.Equals(name, Options.DefaultName)) { diff --git a/src/Components/WebAssembly/WebAssembly.Authentication/src/Options/DefaultOidcProviderOptionsConfiguration.cs b/src/Components/WebAssembly/WebAssembly.Authentication/src/Options/DefaultOidcProviderOptionsConfiguration.cs index fef52dc11cd0..7ec396170d6a 100644 --- a/src/Components/WebAssembly/WebAssembly.Authentication/src/Options/DefaultOidcProviderOptionsConfiguration.cs +++ b/src/Components/WebAssembly/WebAssembly.Authentication/src/Options/DefaultOidcProviderOptionsConfiguration.cs @@ -32,7 +32,7 @@ public void Configure(RemoteAuthenticationOptions options) } } - public void PostConfigure(string name, RemoteAuthenticationOptions options) + public void PostConfigure(string? name, RemoteAuthenticationOptions options) { if (string.Equals(name, Options.DefaultName)) { diff --git a/src/Components/WebAssembly/WebAssembly.Authentication/src/Options/OidcProviderOptions.cs b/src/Components/WebAssembly/WebAssembly.Authentication/src/Options/OidcProviderOptions.cs index de4a2dc28ef6..484c77934b72 100644 --- a/src/Components/WebAssembly/WebAssembly.Authentication/src/Options/OidcProviderOptions.cs +++ b/src/Components/WebAssembly/WebAssembly.Authentication/src/Options/OidcProviderOptions.cs @@ -13,18 +13,18 @@ public class OidcProviderOptions /// /// Gets or sets the authority of the OpenID Connect (OIDC) identity provider. /// - public string Authority { get; set; } + public string? Authority { get; set; } /// /// Gets or sets the metadata URL of the OpenID Connect (OIDC) provider. /// - public string MetadataUrl { get; set; } + public string? MetadataUrl { get; set; } /// /// Gets or sets the client of the application. /// [JsonPropertyName("client_id")] - public string ClientId { get; set; } + public string? ClientId { get; set; } /// /// Gets or sets the list of scopes to request when signing in. @@ -37,26 +37,26 @@ public class OidcProviderOptions /// process from the identity provider. /// [JsonPropertyName("redirect_uri")] - public string RedirectUri { get; set; } + public string? RedirectUri { get; set; } /// /// Gets or sets the post logout redirect URI for the application. The application will be redirected here after the user has completed the sign out /// process from the identity provider. /// [JsonPropertyName("post_logout_redirect_uri")] - public string PostLogoutRedirectUri { get; set; } + public string? PostLogoutRedirectUri { get; set; } /// /// Gets or sets the response type to use on the authorization flow. The valid values are specified by the identity provider metadata. /// [JsonPropertyName("response_type")] - public string ResponseType { get; set; } + public string? ResponseType { get; set; } /// /// Gets or sets the response mode to use in the authorization flow. /// [JsonPropertyName("response_mode")] - public string ResponseMode { get; set; } + public string? ResponseMode { get; set; } /// /// Gets or sets the additional provider parameters to use on the authorization flow. diff --git a/src/Components/WebAssembly/WebAssembly.Authentication/src/Options/RemoteAuthenticationApplicationPathsOptions.cs b/src/Components/WebAssembly/WebAssembly.Authentication/src/Options/RemoteAuthenticationApplicationPathsOptions.cs index 85bea92d2001..f3a29c8838bb 100644 --- a/src/Components/WebAssembly/WebAssembly.Authentication/src/Options/RemoteAuthenticationApplicationPathsOptions.cs +++ b/src/Components/WebAssembly/WebAssembly.Authentication/src/Options/RemoteAuthenticationApplicationPathsOptions.cs @@ -17,7 +17,7 @@ public class RemoteAuthenticationApplicationPathsOptions /// Gets or sets the remote path to the remote endpoint for registering new users. /// It might be absolute and point outside of the application. /// - public string RemoteRegisterPath { get; set; } + public string? RemoteRegisterPath { get; set; } /// /// Gets or sets the path to the endpoint for modifying the settings for the user profile. @@ -28,7 +28,7 @@ public class RemoteAuthenticationApplicationPathsOptions /// Gets or sets the path to the remote endpoint for modifying the settings for the user profile. /// It might be absolute and point outside of the application. /// - public string RemoteProfilePath { get; set; } + public string? RemoteProfilePath { get; set; } /// /// Gets or sets the path to the login page. diff --git a/src/Components/WebAssembly/WebAssembly.Authentication/src/Options/RemoteAuthenticationUserOptions.cs b/src/Components/WebAssembly/WebAssembly.Authentication/src/Options/RemoteAuthenticationUserOptions.cs index 901e41260215..1492bb0e86ba 100644 --- a/src/Components/WebAssembly/WebAssembly.Authentication/src/Options/RemoteAuthenticationUserOptions.cs +++ b/src/Components/WebAssembly/WebAssembly.Authentication/src/Options/RemoteAuthenticationUserOptions.cs @@ -16,15 +16,15 @@ public class RemoteAuthenticationUserOptions /// /// Gets or sets the claim type to use for the user roles. /// - public string RoleClaim { get; set; } + public string? RoleClaim { get; set; } /// /// Gets or sets the claim type to use for the user scopes. /// - public string ScopeClaim { get; set; } + public string? ScopeClaim { get; set; } /// /// Gets or sets the value to use for the . /// - public string AuthenticationType { get; set; } + public string? AuthenticationType { get; set; } } diff --git a/src/Components/WebAssembly/WebAssembly.Authentication/src/PublicAPI.Shipped.txt b/src/Components/WebAssembly/WebAssembly.Authentication/src/PublicAPI.Shipped.txt index 946564a20112..139adf2cf3ed 100644 --- a/src/Components/WebAssembly/WebAssembly.Authentication/src/PublicAPI.Shipped.txt +++ b/src/Components/WebAssembly/WebAssembly.Authentication/src/PublicAPI.Shipped.txt @@ -1,178 +1,178 @@ #nullable enable -~const Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationActions.LogIn = "login" -> string -~const Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationActions.LogInCallback = "login-callback" -> string -~const Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationActions.LogInFailed = "login-failed" -> string -~const Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationActions.LogOut = "logout" -> string -~const Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationActions.LogOutCallback = "logout-callback" -> string -~const Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationActions.LogOutFailed = "logout-failed" -> string -~const Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationActions.LogOutSucceeded = "logged-out" -> string -~const Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationActions.Profile = "profile" -> string -~const Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationActions.Register = "register" -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessToken.GrantedScopes.get -> System.Collections.Generic.IReadOnlyList -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessToken.GrantedScopes.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessToken.Value.get -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessToken.Value.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenNotAvailableException.AccessTokenNotAvailableException(Microsoft.AspNetCore.Components.NavigationManager navigation, Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenResult tokenResult, System.Collections.Generic.IEnumerable scopes) -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenRequestOptions.ReturnUrl.get -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenRequestOptions.ReturnUrl.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenRequestOptions.Scopes.get -> System.Collections.Generic.IEnumerable -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenRequestOptions.Scopes.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenResult.AccessTokenResult(Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenResultStatus status, Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessToken token, string redirectUrl) -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenResult.RedirectUrl.get -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenResult.TryGetToken(out Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessToken accessToken) -> bool -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccountClaimsPrincipalFactory -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccountClaimsPrincipalFactory.AccountClaimsPrincipalFactory(Microsoft.AspNetCore.Components.WebAssembly.Authentication.Internal.IAccessTokenProviderAccessor accessor) -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccountClaimsPrincipalFactory.TokenProvider.get -> Microsoft.AspNetCore.Components.WebAssembly.Authentication.IAccessTokenProvider -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.ApiAuthorizationProviderOptions.ConfigurationEndpoint.get -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.ApiAuthorizationProviderOptions.ConfigurationEndpoint.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.AuthorizationMessageHandler.AuthorizationMessageHandler(Microsoft.AspNetCore.Components.WebAssembly.Authentication.IAccessTokenProvider provider, Microsoft.AspNetCore.Components.NavigationManager navigation) -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.AuthorizationMessageHandler.ConfigureHandler(System.Collections.Generic.IEnumerable authorizedUrls, System.Collections.Generic.IEnumerable scopes = null, string returnUrl = null) -> Microsoft.AspNetCore.Components.WebAssembly.Authentication.AuthorizationMessageHandler -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.BaseAddressAuthorizationMessageHandler.BaseAddressAuthorizationMessageHandler(Microsoft.AspNetCore.Components.WebAssembly.Authentication.IAccessTokenProvider provider, Microsoft.AspNetCore.Components.NavigationManager navigationManager) -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.IAccessTokenProvider.RequestAccessToken() -> System.Threading.Tasks.ValueTask -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.IAccessTokenProvider.RequestAccessToken(Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenRequestOptions options) -> System.Threading.Tasks.ValueTask -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.Internal.IAccessTokenProviderAccessor.TokenProvider.get -> Microsoft.AspNetCore.Components.WebAssembly.Authentication.IAccessTokenProvider -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.IRemoteAuthenticationService -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.IRemoteAuthenticationService.CompleteSignInAsync(Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationContext context) -> System.Threading.Tasks.Task> -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.IRemoteAuthenticationService.CompleteSignOutAsync(Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationContext context) -> System.Threading.Tasks.Task> -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.IRemoteAuthenticationService.SignInAsync(Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationContext context) -> System.Threading.Tasks.Task> -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.IRemoteAuthenticationService.SignOutAsync(Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationContext context) -> System.Threading.Tasks.Task> -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.OidcProviderOptions.AdditionalProviderParameters.get -> System.Collections.Generic.IDictionary -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.OidcProviderOptions.Authority.get -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.OidcProviderOptions.Authority.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.OidcProviderOptions.ClientId.get -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.OidcProviderOptions.ClientId.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.OidcProviderOptions.DefaultScopes.get -> System.Collections.Generic.IList -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.OidcProviderOptions.MetadataUrl.get -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.OidcProviderOptions.MetadataUrl.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.OidcProviderOptions.PostLogoutRedirectUri.get -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.OidcProviderOptions.PostLogoutRedirectUri.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.OidcProviderOptions.RedirectUri.get -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.OidcProviderOptions.RedirectUri.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.OidcProviderOptions.ResponseMode.get -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.OidcProviderOptions.ResponseMode.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.OidcProviderOptions.ResponseType.get -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.OidcProviderOptions.ResponseType.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.LogInCallbackPath.get -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.LogInCallbackPath.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.LogInFailedPath.get -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.LogInFailedPath.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.LogInPath.get -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.LogInPath.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.LogOutCallbackPath.get -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.LogOutCallbackPath.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.LogOutFailedPath.get -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.LogOutFailedPath.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.LogOutPath.get -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.LogOutPath.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.LogOutSucceededPath.get -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.LogOutSucceededPath.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.ProfilePath.get -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.ProfilePath.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.RegisterPath.get -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.RegisterPath.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.RemoteProfilePath.get -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.RemoteProfilePath.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.RemoteRegisterPath.get -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.RemoteRegisterPath.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationContext -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationContext.State.get -> TRemoteAuthenticationState -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationContext.State.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationContext.Url.get -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationContext.Url.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationOptions.AuthenticationPaths.get -> Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationOptions.UserOptions.get -> Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationUserOptions -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationResult -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationResult.ErrorMessage.get -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationResult.ErrorMessage.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationResult.State.get -> TRemoteAuthenticationState -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationResult.State.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService.AccountClaimsPrincipalFactory.get -> Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccountClaimsPrincipalFactory -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService.JsRuntime.get -> Microsoft.JSInterop.IJSRuntime -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService.Navigation.get -> Microsoft.AspNetCore.Components.NavigationManager -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService.Options.get -> Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationOptions -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService.RemoteAuthenticationService(Microsoft.JSInterop.IJSRuntime jsRuntime, Microsoft.Extensions.Options.IOptionsSnapshot> options, Microsoft.AspNetCore.Components.NavigationManager navigation, Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccountClaimsPrincipalFactory accountClaimsPrincipalFactory) -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationState.ReturnUrl.get -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationState.ReturnUrl.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationUserOptions.AuthenticationType.get -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationUserOptions.AuthenticationType.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationUserOptions.NameClaim.get -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationUserOptions.NameClaim.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationUserOptions.RoleClaim.get -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationUserOptions.RoleClaim.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationUserOptions.ScopeClaim.get -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationUserOptions.ScopeClaim.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.Action.get -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.Action.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.ApplicationPaths.get -> Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.ApplicationPaths.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.AuthenticationState.get -> TAuthenticationState -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.AuthenticationState.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.CompletingLoggingIn.get -> Microsoft.AspNetCore.Components.RenderFragment -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.CompletingLoggingIn.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.CompletingLogOut.get -> Microsoft.AspNetCore.Components.RenderFragment -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.CompletingLogOut.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.LoggingIn.get -> Microsoft.AspNetCore.Components.RenderFragment -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.LoggingIn.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.LogInFailed.get -> Microsoft.AspNetCore.Components.RenderFragment -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.LogInFailed.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.LogOut.get -> Microsoft.AspNetCore.Components.RenderFragment -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.LogOut.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.LogOutFailed.get -> Microsoft.AspNetCore.Components.RenderFragment -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.LogOutFailed.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.LogOutSucceeded.get -> Microsoft.AspNetCore.Components.RenderFragment -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.LogOutSucceeded.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.OnLogInSucceeded.get -> Microsoft.AspNetCore.Components.EventCallback -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.OnLogInSucceeded.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.OnLogOutSucceeded.get -> Microsoft.AspNetCore.Components.EventCallback -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.OnLogOutSucceeded.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.Registering.get -> Microsoft.AspNetCore.Components.RenderFragment -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.Registering.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.UserProfile.get -> Microsoft.AspNetCore.Components.RenderFragment -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.UserProfile.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteUserAccount.AdditionalProperties.get -> System.Collections.Generic.IDictionary -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteUserAccount.AdditionalProperties.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.SignOutSessionStateManager.SignOutSessionStateManager(Microsoft.JSInterop.IJSRuntime jsRuntime) -> void -~Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder -~Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder.Services.get -> Microsoft.Extensions.DependencyInjection.IServiceCollection -~override Microsoft.AspNetCore.Components.WebAssembly.Authentication.AuthorizationMessageHandler.SendAsync(System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task -~override Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService.GetAuthenticationStateAsync() -> System.Threading.Tasks.Task -~override Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.BuildRenderTree(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder builder) -> void -~override Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.OnParametersSetAsync() -> System.Threading.Tasks.Task -~static Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationActions.IsAction(string action, string candidate) -> bool -~static Microsoft.Extensions.DependencyInjection.RemoteAuthenticationBuilderExtensions.AddAccountClaimsPrincipalFactory(this Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder builder) -> Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder -~static Microsoft.Extensions.DependencyInjection.RemoteAuthenticationBuilderExtensions.AddAccountClaimsPrincipalFactory(this Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder builder) -> Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder -~static Microsoft.Extensions.DependencyInjection.RemoteAuthenticationBuilderExtensions.AddAccountClaimsPrincipalFactory(this Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder builder) -> Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder -~static Microsoft.Extensions.DependencyInjection.WebAssemblyAuthenticationServiceCollectionExtensions.AddApiAuthorization(this Microsoft.Extensions.DependencyInjection.IServiceCollection services) -> Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder -~static Microsoft.Extensions.DependencyInjection.WebAssemblyAuthenticationServiceCollectionExtensions.AddApiAuthorization(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action> configure) -> Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder -~static Microsoft.Extensions.DependencyInjection.WebAssemblyAuthenticationServiceCollectionExtensions.AddApiAuthorization(this Microsoft.Extensions.DependencyInjection.IServiceCollection services) -> Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder -~static Microsoft.Extensions.DependencyInjection.WebAssemblyAuthenticationServiceCollectionExtensions.AddApiAuthorization(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action> configure) -> Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder -~static Microsoft.Extensions.DependencyInjection.WebAssemblyAuthenticationServiceCollectionExtensions.AddApiAuthorization(this Microsoft.Extensions.DependencyInjection.IServiceCollection services) -> Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder -~static Microsoft.Extensions.DependencyInjection.WebAssemblyAuthenticationServiceCollectionExtensions.AddApiAuthorization(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action> configure) -> Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder -~static Microsoft.Extensions.DependencyInjection.WebAssemblyAuthenticationServiceCollectionExtensions.AddOidcAuthentication(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action> configure) -> Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder -~static Microsoft.Extensions.DependencyInjection.WebAssemblyAuthenticationServiceCollectionExtensions.AddOidcAuthentication(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action> configure) -> Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder -~static Microsoft.Extensions.DependencyInjection.WebAssemblyAuthenticationServiceCollectionExtensions.AddOidcAuthentication(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action> configure) -> Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder -~static Microsoft.Extensions.DependencyInjection.WebAssemblyAuthenticationServiceCollectionExtensions.AddRemoteAuthentication(this Microsoft.Extensions.DependencyInjection.IServiceCollection services) -> Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder -~static Microsoft.Extensions.DependencyInjection.WebAssemblyAuthenticationServiceCollectionExtensions.AddRemoteAuthentication(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action> configure) -> Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder -~static readonly Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationDefaults.LoginCallbackPath -> string -~static readonly Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationDefaults.LoginFailedPath -> string -~static readonly Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationDefaults.LoginPath -> string -~static readonly Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationDefaults.LogoutCallbackPath -> string -~static readonly Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationDefaults.LogoutFailedPath -> string -~static readonly Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationDefaults.LogoutPath -> string -~static readonly Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationDefaults.LogoutSucceededPath -> string -~static readonly Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationDefaults.ProfilePath -> string -~static readonly Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationDefaults.RegisterPath -> string -~virtual Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccountClaimsPrincipalFactory.CreateUserAsync(TAccount account, Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationUserOptions options) -> System.Threading.Tasks.ValueTask -~virtual Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService.CompleteSignInAsync(Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationContext context) -> System.Threading.Tasks.Task> -~virtual Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService.CompleteSignOutAsync(Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationContext context) -> System.Threading.Tasks.Task> -~virtual Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService.GetAuthenticatedUser() -> System.Threading.Tasks.ValueTask -~virtual Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService.RequestAccessToken() -> System.Threading.Tasks.ValueTask -~virtual Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService.RequestAccessToken(Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenRequestOptions options) -> System.Threading.Tasks.ValueTask -~virtual Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService.SignInAsync(Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationContext context) -> System.Threading.Tasks.Task> -~virtual Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService.SignOutAsync(Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationContext context) -> System.Threading.Tasks.Task> -~virtual Microsoft.AspNetCore.Components.WebAssembly.Authentication.SignOutSessionStateManager.ValidateSignOutState() -> System.Threading.Tasks.Task +const Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationActions.LogIn = "login" -> string! +const Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationActions.LogInCallback = "login-callback" -> string! +const Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationActions.LogInFailed = "login-failed" -> string! +const Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationActions.LogOut = "logout" -> string! +const Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationActions.LogOutCallback = "logout-callback" -> string! +const Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationActions.LogOutFailed = "logout-failed" -> string! +const Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationActions.LogOutSucceeded = "logged-out" -> string! +const Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationActions.Profile = "profile" -> string! +const Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationActions.Register = "register" -> string! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessToken.GrantedScopes.get -> System.Collections.Generic.IReadOnlyList! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessToken.GrantedScopes.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessToken.Value.get -> string! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessToken.Value.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenNotAvailableException.AccessTokenNotAvailableException(Microsoft.AspNetCore.Components.NavigationManager! navigation, Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenResult! tokenResult, System.Collections.Generic.IEnumerable? scopes) -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenRequestOptions.ReturnUrl.get -> string? +Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenRequestOptions.ReturnUrl.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenRequestOptions.Scopes.get -> System.Collections.Generic.IEnumerable? +Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenRequestOptions.Scopes.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenResult.AccessTokenResult(Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenResultStatus status, Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessToken! token, string! redirectUrl) -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenResult.RedirectUrl.get -> string? +Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenResult.TryGetToken(out Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessToken? accessToken) -> bool +Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccountClaimsPrincipalFactory +Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccountClaimsPrincipalFactory.AccountClaimsPrincipalFactory(Microsoft.AspNetCore.Components.WebAssembly.Authentication.Internal.IAccessTokenProviderAccessor! accessor) -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccountClaimsPrincipalFactory.TokenProvider.get -> Microsoft.AspNetCore.Components.WebAssembly.Authentication.IAccessTokenProvider! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.ApiAuthorizationProviderOptions.ConfigurationEndpoint.get -> string? +Microsoft.AspNetCore.Components.WebAssembly.Authentication.ApiAuthorizationProviderOptions.ConfigurationEndpoint.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.AuthorizationMessageHandler.AuthorizationMessageHandler(Microsoft.AspNetCore.Components.WebAssembly.Authentication.IAccessTokenProvider! provider, Microsoft.AspNetCore.Components.NavigationManager! navigation) -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.AuthorizationMessageHandler.ConfigureHandler(System.Collections.Generic.IEnumerable! authorizedUrls, System.Collections.Generic.IEnumerable? scopes = null, string? returnUrl = null) -> Microsoft.AspNetCore.Components.WebAssembly.Authentication.AuthorizationMessageHandler! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.BaseAddressAuthorizationMessageHandler.BaseAddressAuthorizationMessageHandler(Microsoft.AspNetCore.Components.WebAssembly.Authentication.IAccessTokenProvider! provider, Microsoft.AspNetCore.Components.NavigationManager! navigationManager) -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.IAccessTokenProvider.RequestAccessToken() -> System.Threading.Tasks.ValueTask +Microsoft.AspNetCore.Components.WebAssembly.Authentication.IAccessTokenProvider.RequestAccessToken(Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenRequestOptions! options) -> System.Threading.Tasks.ValueTask +Microsoft.AspNetCore.Components.WebAssembly.Authentication.Internal.IAccessTokenProviderAccessor.TokenProvider.get -> Microsoft.AspNetCore.Components.WebAssembly.Authentication.IAccessTokenProvider! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.IRemoteAuthenticationService +Microsoft.AspNetCore.Components.WebAssembly.Authentication.IRemoteAuthenticationService.CompleteSignInAsync(Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationContext! context) -> System.Threading.Tasks.Task!>! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.IRemoteAuthenticationService.CompleteSignOutAsync(Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationContext! context) -> System.Threading.Tasks.Task!>! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.IRemoteAuthenticationService.SignInAsync(Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationContext! context) -> System.Threading.Tasks.Task!>! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.IRemoteAuthenticationService.SignOutAsync(Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationContext! context) -> System.Threading.Tasks.Task!>! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.OidcProviderOptions.AdditionalProviderParameters.get -> System.Collections.Generic.IDictionary! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.OidcProviderOptions.Authority.get -> string? +Microsoft.AspNetCore.Components.WebAssembly.Authentication.OidcProviderOptions.Authority.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.OidcProviderOptions.ClientId.get -> string? +Microsoft.AspNetCore.Components.WebAssembly.Authentication.OidcProviderOptions.ClientId.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.OidcProviderOptions.DefaultScopes.get -> System.Collections.Generic.IList! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.OidcProviderOptions.MetadataUrl.get -> string? +Microsoft.AspNetCore.Components.WebAssembly.Authentication.OidcProviderOptions.MetadataUrl.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.OidcProviderOptions.PostLogoutRedirectUri.get -> string? +Microsoft.AspNetCore.Components.WebAssembly.Authentication.OidcProviderOptions.PostLogoutRedirectUri.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.OidcProviderOptions.RedirectUri.get -> string? +Microsoft.AspNetCore.Components.WebAssembly.Authentication.OidcProviderOptions.RedirectUri.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.OidcProviderOptions.ResponseMode.get -> string? +Microsoft.AspNetCore.Components.WebAssembly.Authentication.OidcProviderOptions.ResponseMode.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.OidcProviderOptions.ResponseType.get -> string? +Microsoft.AspNetCore.Components.WebAssembly.Authentication.OidcProviderOptions.ResponseType.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.LogInCallbackPath.get -> string! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.LogInCallbackPath.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.LogInFailedPath.get -> string! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.LogInFailedPath.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.LogInPath.get -> string! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.LogInPath.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.LogOutCallbackPath.get -> string! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.LogOutCallbackPath.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.LogOutFailedPath.get -> string! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.LogOutFailedPath.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.LogOutPath.get -> string! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.LogOutPath.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.LogOutSucceededPath.get -> string! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.LogOutSucceededPath.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.ProfilePath.get -> string! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.ProfilePath.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.RegisterPath.get -> string! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.RegisterPath.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.RemoteProfilePath.get -> string? +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.RemoteProfilePath.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.RemoteRegisterPath.get -> string? +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions.RemoteRegisterPath.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationContext +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationContext.State.get -> TRemoteAuthenticationState? +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationContext.State.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationContext.Url.get -> string? +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationContext.Url.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationOptions.AuthenticationPaths.get -> Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationOptions.UserOptions.get -> Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationUserOptions! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationResult +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationResult.ErrorMessage.get -> string? +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationResult.ErrorMessage.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationResult.State.get -> TRemoteAuthenticationState? +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationResult.State.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService.AccountClaimsPrincipalFactory.get -> Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccountClaimsPrincipalFactory! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService.JsRuntime.get -> Microsoft.JSInterop.IJSRuntime! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService.Navigation.get -> Microsoft.AspNetCore.Components.NavigationManager! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService.Options.get -> Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationOptions! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService.RemoteAuthenticationService(Microsoft.JSInterop.IJSRuntime! jsRuntime, Microsoft.Extensions.Options.IOptionsSnapshot!>! options, Microsoft.AspNetCore.Components.NavigationManager! navigation, Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccountClaimsPrincipalFactory! accountClaimsPrincipalFactory) -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationState.ReturnUrl.get -> string? +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationState.ReturnUrl.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationUserOptions.AuthenticationType.get -> string? +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationUserOptions.AuthenticationType.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationUserOptions.NameClaim.get -> string! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationUserOptions.NameClaim.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationUserOptions.RoleClaim.get -> string? +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationUserOptions.RoleClaim.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationUserOptions.ScopeClaim.get -> string? +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationUserOptions.ScopeClaim.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.Action.get -> string? +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.Action.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.ApplicationPaths.get -> Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationApplicationPathsOptions! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.ApplicationPaths.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.AuthenticationState.get -> TAuthenticationState! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.AuthenticationState.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.CompletingLoggingIn.get -> Microsoft.AspNetCore.Components.RenderFragment! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.CompletingLoggingIn.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.CompletingLogOut.get -> Microsoft.AspNetCore.Components.RenderFragment! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.CompletingLogOut.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.LoggingIn.get -> Microsoft.AspNetCore.Components.RenderFragment? +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.LoggingIn.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.LogInFailed.get -> Microsoft.AspNetCore.Components.RenderFragment! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.LogInFailed.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.LogOut.get -> Microsoft.AspNetCore.Components.RenderFragment! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.LogOut.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.LogOutFailed.get -> Microsoft.AspNetCore.Components.RenderFragment! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.LogOutFailed.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.LogOutSucceeded.get -> Microsoft.AspNetCore.Components.RenderFragment! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.LogOutSucceeded.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.OnLogInSucceeded.get -> Microsoft.AspNetCore.Components.EventCallback +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.OnLogInSucceeded.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.OnLogOutSucceeded.get -> Microsoft.AspNetCore.Components.EventCallback +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.OnLogOutSucceeded.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.Registering.get -> Microsoft.AspNetCore.Components.RenderFragment? +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.Registering.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.UserProfile.get -> Microsoft.AspNetCore.Components.RenderFragment? +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.UserProfile.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteUserAccount.AdditionalProperties.get -> System.Collections.Generic.IDictionary! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteUserAccount.AdditionalProperties.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.SignOutSessionStateManager.SignOutSessionStateManager(Microsoft.JSInterop.IJSRuntime! jsRuntime) -> void +Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder +Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder.Services.get -> Microsoft.Extensions.DependencyInjection.IServiceCollection! +override Microsoft.AspNetCore.Components.WebAssembly.Authentication.AuthorizationMessageHandler.SendAsync(System.Net.Http.HttpRequestMessage! request, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! +override Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService.GetAuthenticationStateAsync() -> System.Threading.Tasks.Task! +override Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.BuildRenderTree(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder! builder) -> void +override Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore.OnParametersSetAsync() -> System.Threading.Tasks.Task! +static Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationActions.IsAction(string! action, string! candidate) -> bool +static Microsoft.Extensions.DependencyInjection.RemoteAuthenticationBuilderExtensions.AddAccountClaimsPrincipalFactory(this Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder! builder) -> Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder! +static Microsoft.Extensions.DependencyInjection.RemoteAuthenticationBuilderExtensions.AddAccountClaimsPrincipalFactory(this Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder! builder) -> Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder! +static Microsoft.Extensions.DependencyInjection.RemoteAuthenticationBuilderExtensions.AddAccountClaimsPrincipalFactory(this Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder! builder) -> Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder! +static Microsoft.Extensions.DependencyInjection.WebAssemblyAuthenticationServiceCollectionExtensions.AddApiAuthorization(this Microsoft.Extensions.DependencyInjection.IServiceCollection! services) -> Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder! +static Microsoft.Extensions.DependencyInjection.WebAssemblyAuthenticationServiceCollectionExtensions.AddApiAuthorization(this Microsoft.Extensions.DependencyInjection.IServiceCollection! services, System.Action!>! configure) -> Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder! +static Microsoft.Extensions.DependencyInjection.WebAssemblyAuthenticationServiceCollectionExtensions.AddApiAuthorization(this Microsoft.Extensions.DependencyInjection.IServiceCollection! services) -> Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder! +static Microsoft.Extensions.DependencyInjection.WebAssemblyAuthenticationServiceCollectionExtensions.AddApiAuthorization(this Microsoft.Extensions.DependencyInjection.IServiceCollection! services, System.Action!>! configure) -> Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder! +static Microsoft.Extensions.DependencyInjection.WebAssemblyAuthenticationServiceCollectionExtensions.AddApiAuthorization(this Microsoft.Extensions.DependencyInjection.IServiceCollection! services) -> Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder! +static Microsoft.Extensions.DependencyInjection.WebAssemblyAuthenticationServiceCollectionExtensions.AddApiAuthorization(this Microsoft.Extensions.DependencyInjection.IServiceCollection! services, System.Action!>! configure) -> Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder! +static Microsoft.Extensions.DependencyInjection.WebAssemblyAuthenticationServiceCollectionExtensions.AddOidcAuthentication(this Microsoft.Extensions.DependencyInjection.IServiceCollection! services, System.Action!>! configure) -> Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder! +static Microsoft.Extensions.DependencyInjection.WebAssemblyAuthenticationServiceCollectionExtensions.AddOidcAuthentication(this Microsoft.Extensions.DependencyInjection.IServiceCollection! services, System.Action!>! configure) -> Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder! +static Microsoft.Extensions.DependencyInjection.WebAssemblyAuthenticationServiceCollectionExtensions.AddOidcAuthentication(this Microsoft.Extensions.DependencyInjection.IServiceCollection! services, System.Action!>! configure) -> Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder! +static Microsoft.Extensions.DependencyInjection.WebAssemblyAuthenticationServiceCollectionExtensions.AddRemoteAuthentication(this Microsoft.Extensions.DependencyInjection.IServiceCollection! services) -> Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder! +static Microsoft.Extensions.DependencyInjection.WebAssemblyAuthenticationServiceCollectionExtensions.AddRemoteAuthentication(this Microsoft.Extensions.DependencyInjection.IServiceCollection! services, System.Action!>? configure) -> Microsoft.Extensions.DependencyInjection.IRemoteAuthenticationBuilder! +static readonly Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationDefaults.LoginCallbackPath -> string! +static readonly Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationDefaults.LoginFailedPath -> string! +static readonly Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationDefaults.LoginPath -> string! +static readonly Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationDefaults.LogoutCallbackPath -> string! +static readonly Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationDefaults.LogoutFailedPath -> string! +static readonly Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationDefaults.LogoutPath -> string! +static readonly Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationDefaults.LogoutSucceededPath -> string! +static readonly Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationDefaults.ProfilePath -> string! +static readonly Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationDefaults.RegisterPath -> string! +virtual Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccountClaimsPrincipalFactory.CreateUserAsync(TAccount! account, Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationUserOptions! options) -> System.Threading.Tasks.ValueTask +virtual Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService.CompleteSignInAsync(Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationContext! context) -> System.Threading.Tasks.Task!>! +virtual Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService.CompleteSignOutAsync(Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationContext! context) -> System.Threading.Tasks.Task!>! +virtual Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService.GetAuthenticatedUser() -> System.Threading.Tasks.ValueTask +virtual Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService.RequestAccessToken() -> System.Threading.Tasks.ValueTask +virtual Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService.RequestAccessToken(Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenRequestOptions! options) -> System.Threading.Tasks.ValueTask +virtual Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService.SignInAsync(Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationContext! context) -> System.Threading.Tasks.Task!>! +virtual Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService.SignOutAsync(Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationContext! context) -> System.Threading.Tasks.Task!>! +virtual Microsoft.AspNetCore.Components.WebAssembly.Authentication.SignOutSessionStateManager.ValidateSignOutState() -> System.Threading.Tasks.Task! Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessToken Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessToken.AccessToken() -> void Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessToken.Expires.get -> System.DateTimeOffset diff --git a/src/Components/WebAssembly/WebAssembly.Authentication/src/PublicAPI.Unshipped.txt b/src/Components/WebAssembly/WebAssembly.Authentication/src/PublicAPI.Unshipped.txt index 3ac471b5b236..a1b32b4159be 100644 --- a/src/Components/WebAssembly/WebAssembly.Authentication/src/PublicAPI.Unshipped.txt +++ b/src/Components/WebAssembly/WebAssembly.Authentication/src/PublicAPI.Unshipped.txt @@ -8,21 +8,21 @@ Microsoft.AspNetCore.Components.WebAssembly.Authentication.InteractiveRequestOpt Microsoft.AspNetCore.Components.WebAssembly.Authentication.InteractiveRequestOptions.Interaction.init -> void Microsoft.AspNetCore.Components.WebAssembly.Authentication.InteractiveRequestOptions.InteractiveRequestOptions() -> void Microsoft.AspNetCore.Components.WebAssembly.Authentication.NavigationManagerExtensions -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenNotAvailableException.Redirect(System.Action configureInteractionOptions) -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenResult.AccessTokenResult(Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenResultStatus status, Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessToken token, string interactiveRequestUrl, Microsoft.AspNetCore.Components.WebAssembly.Authentication.InteractiveRequestOptions interactiveRequest) -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenResult.InteractionOptions.get -> Microsoft.AspNetCore.Components.WebAssembly.Authentication.InteractiveRequestOptions -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenResult.InteractiveRequestUrl.get -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.InteractiveRequestOptions.ReturnUrl.get -> string -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.InteractiveRequestOptions.ReturnUrl.init -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.InteractiveRequestOptions.Scopes.get -> System.Collections.Generic.IEnumerable -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.InteractiveRequestOptions.Scopes.init -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.InteractiveRequestOptions.TryAddAdditionalParameter(string name, TValue value) -> bool -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.InteractiveRequestOptions.TryGetAdditionalParameter(string name, out TValue value) -> bool -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.InteractiveRequestOptions.TryRemoveAdditionalParameter(string name) -> bool -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationContext.InteractiveRequest.get -> Microsoft.AspNetCore.Components.WebAssembly.Authentication.InteractiveRequestOptions -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationContext.InteractiveRequest.set -> void -~Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService.RemoteAuthenticationService(Microsoft.JSInterop.IJSRuntime jsRuntime, Microsoft.Extensions.Options.IOptionsSnapshot> options, Microsoft.AspNetCore.Components.NavigationManager navigation, Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccountClaimsPrincipalFactory accountClaimsPrincipalFactory, Microsoft.Extensions.Logging.ILogger> logger) -> void -~static Microsoft.AspNetCore.Components.WebAssembly.Authentication.NavigationManagerExtensions.NavigateToLogin(this Microsoft.AspNetCore.Components.NavigationManager manager, string loginPath) -> void -~static Microsoft.AspNetCore.Components.WebAssembly.Authentication.NavigationManagerExtensions.NavigateToLogin(this Microsoft.AspNetCore.Components.NavigationManager manager, string loginPath, Microsoft.AspNetCore.Components.WebAssembly.Authentication.InteractiveRequestOptions request) -> void -~static Microsoft.AspNetCore.Components.WebAssembly.Authentication.NavigationManagerExtensions.NavigateToLogout(this Microsoft.AspNetCore.Components.NavigationManager manager, string logoutPath) -> void -~static Microsoft.AspNetCore.Components.WebAssembly.Authentication.NavigationManagerExtensions.NavigateToLogout(this Microsoft.AspNetCore.Components.NavigationManager manager, string logoutPath, string returnUrl) -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenNotAvailableException.Redirect(System.Action! configureInteractionOptions) -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenResult.AccessTokenResult(Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenResultStatus status, Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessToken! token, string? interactiveRequestUrl, Microsoft.AspNetCore.Components.WebAssembly.Authentication.InteractiveRequestOptions? interactiveRequest) -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenResult.InteractionOptions.get -> Microsoft.AspNetCore.Components.WebAssembly.Authentication.InteractiveRequestOptions? +Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenResult.InteractiveRequestUrl.get -> string? +Microsoft.AspNetCore.Components.WebAssembly.Authentication.InteractiveRequestOptions.ReturnUrl.get -> string! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.InteractiveRequestOptions.ReturnUrl.init -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.InteractiveRequestOptions.Scopes.get -> System.Collections.Generic.IEnumerable! +Microsoft.AspNetCore.Components.WebAssembly.Authentication.InteractiveRequestOptions.Scopes.init -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.InteractiveRequestOptions.TryAddAdditionalParameter(string! name, TValue value) -> bool +Microsoft.AspNetCore.Components.WebAssembly.Authentication.InteractiveRequestOptions.TryGetAdditionalParameter(string! name, out TValue? value) -> bool +Microsoft.AspNetCore.Components.WebAssembly.Authentication.InteractiveRequestOptions.TryRemoveAdditionalParameter(string! name) -> bool +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationContext.InteractiveRequest.get -> Microsoft.AspNetCore.Components.WebAssembly.Authentication.InteractiveRequestOptions? +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationContext.InteractiveRequest.set -> void +Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService.RemoteAuthenticationService(Microsoft.JSInterop.IJSRuntime! jsRuntime, Microsoft.Extensions.Options.IOptionsSnapshot!>! options, Microsoft.AspNetCore.Components.NavigationManager! navigation, Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccountClaimsPrincipalFactory! accountClaimsPrincipalFactory, Microsoft.Extensions.Logging.ILogger!>? logger) -> void +static Microsoft.AspNetCore.Components.WebAssembly.Authentication.NavigationManagerExtensions.NavigateToLogin(this Microsoft.AspNetCore.Components.NavigationManager! manager, string! loginPath) -> void +static Microsoft.AspNetCore.Components.WebAssembly.Authentication.NavigationManagerExtensions.NavigateToLogin(this Microsoft.AspNetCore.Components.NavigationManager! manager, string! loginPath, Microsoft.AspNetCore.Components.WebAssembly.Authentication.InteractiveRequestOptions! request) -> void +static Microsoft.AspNetCore.Components.WebAssembly.Authentication.NavigationManagerExtensions.NavigateToLogout(this Microsoft.AspNetCore.Components.NavigationManager! manager, string! logoutPath) -> void +static Microsoft.AspNetCore.Components.WebAssembly.Authentication.NavigationManagerExtensions.NavigateToLogout(this Microsoft.AspNetCore.Components.NavigationManager! manager, string! logoutPath, string? returnUrl) -> void diff --git a/src/Components/WebAssembly/WebAssembly.Authentication/src/RemoteAuthenticatorViewCore.Log.cs b/src/Components/WebAssembly/WebAssembly.Authentication/src/RemoteAuthenticatorViewCore.Log.cs index a9a417892818..ce0493184c3b 100644 --- a/src/Components/WebAssembly/WebAssembly.Authentication/src/RemoteAuthenticatorViewCore.Log.cs +++ b/src/Components/WebAssembly/WebAssembly.Authentication/src/RemoteAuthenticatorViewCore.Log.cs @@ -11,7 +11,7 @@ public partial class RemoteAuthenticatorViewCore where TAu private static partial class Log { [LoggerMessage(1, LogLevel.Debug, "Processing action {Action}.", EventName = nameof(ProcessingAuthenticatorAction))] - public static partial void ProcessingAuthenticatorAction(ILogger logger, string action); + public static partial void ProcessingAuthenticatorAction(ILogger logger, string? action); [LoggerMessage(2, LogLevel.Debug, "Login completed successfully.", EventName = nameof(LoginCompletedSuccessfully))] public static partial void LoginCompletedSuccessfully(ILogger logger); diff --git a/src/Components/WebAssembly/WebAssembly.Authentication/src/RemoteAuthenticatorViewCore.cs b/src/Components/WebAssembly/WebAssembly.Authentication/src/RemoteAuthenticatorViewCore.cs index 1f2d5788e8df..69c9b1e70c86 100644 --- a/src/Components/WebAssembly/WebAssembly.Authentication/src/RemoteAuthenticatorViewCore.cs +++ b/src/Components/WebAssembly/WebAssembly.Authentication/src/RemoteAuthenticatorViewCore.cs @@ -15,10 +15,10 @@ namespace Microsoft.AspNetCore.Components.WebAssembly.Authentication; /// The user state type persisted while the operation is in progress. It must be serializable. public partial class RemoteAuthenticatorViewCore<[DynamicallyAccessedMembers(JsonSerialized)] TAuthenticationState> : ComponentBase where TAuthenticationState : RemoteAuthenticationState { - private RemoteAuthenticationApplicationPathsOptions _applicationPaths; - private string _action; - private string _lastHandledAction; - private InteractiveRequestOptions _cachedRequest; + private RemoteAuthenticationApplicationPathsOptions? _applicationPaths; + private string? _action; + private string? _lastHandledAction; + private InteractiveRequestOptions? _cachedRequest; private static readonly NavigationOptions AuthenticationNavigationOptions = new() { ReplaceHistoryEntry = true, ForceLoad = false }; @@ -26,27 +26,27 @@ public partial class RemoteAuthenticatorViewCore<[DynamicallyAccessedMembers(Jso /// /// Gets or sets the action the component needs to handle. /// - [Parameter] public string Action { get => _action; set => _action = value?.ToLowerInvariant(); } + [Parameter] public string? Action { get => _action; set => _action = value?.ToLowerInvariant(); } /// /// Gets or sets the instance to be preserved during the authentication operation. /// - [Parameter] public TAuthenticationState AuthenticationState { get; set; } + [Parameter] public TAuthenticationState AuthenticationState { get; set; } = default!; /// /// Gets or sets a with the UI to display while is being handled. /// - [Parameter] public RenderFragment LoggingIn { get; set; } = DefaultLogInFragment; + [Parameter] public RenderFragment? LoggingIn { get; set; } = DefaultLogInFragment; /// /// Gets or sets a with the UI to display while is being handled. /// - [Parameter] public RenderFragment Registering { get; set; } + [Parameter] public RenderFragment? Registering { get; set; } /// /// Gets or sets a with the UI to display while is being handled. /// - [Parameter] public RenderFragment UserProfile { get; set; } + [Parameter] public RenderFragment? UserProfile { get; set; } /// /// Gets or sets a with the UI to display while is being handled. @@ -56,7 +56,7 @@ public partial class RemoteAuthenticatorViewCore<[DynamicallyAccessedMembers(Jso /// /// Gets or sets a with the UI to display while is being handled. /// - [Parameter] public RenderFragment LogInFailed { get; set; } = DefaultLogInFailedFragment; + [Parameter] public RenderFragment LogInFailed { get; set; } = DefaultLogInFailedFragment; /// /// Gets or sets a with the UI to display while is being handled. @@ -71,7 +71,7 @@ public partial class RemoteAuthenticatorViewCore<[DynamicallyAccessedMembers(Jso /// /// Gets or sets a with the UI to display while is being handled. /// - [Parameter] public RenderFragment LogOutFailed { get; set; } = DefaultLogOutFailedFragment; + [Parameter] public RenderFragment LogOutFailed { get; set; } = DefaultLogOutFailedFragment; /// /// Gets or sets a with the UI to display while is being handled. @@ -95,22 +95,22 @@ public partial class RemoteAuthenticatorViewCore<[DynamicallyAccessedMembers(Jso public RemoteAuthenticationApplicationPathsOptions ApplicationPaths { get => _applicationPaths ?? RemoteApplicationPathsProvider.ApplicationPaths; - set => _applicationPaths = value; + set => _applicationPaths = value!; } - [Inject] internal NavigationManager Navigation { get; set; } + [Inject] internal NavigationManager Navigation { get; set; } = default!; - [Inject] internal IRemoteAuthenticationService AuthenticationService { get; set; } + [Inject] internal IRemoteAuthenticationService AuthenticationService { get; set; } = default!; - [Inject] internal IRemoteAuthenticationPathsProvider RemoteApplicationPathsProvider { get; set; } + [Inject] internal IRemoteAuthenticationPathsProvider RemoteApplicationPathsProvider { get; set; } = default!; - [Inject] internal AuthenticationStateProvider AuthenticationProvider { get; set; } + [Inject] internal AuthenticationStateProvider AuthenticationProvider { get; set; } = default!; #pragma warning disable CS0618 // Type or member is obsolete, we keep it for now for backwards compatibility - [Inject] internal SignOutSessionStateManager SignOutManager { get; set; } + [Inject] internal SignOutSessionStateManager SignOutManager { get; set; } = default!; #pragma warning restore CS0618 // Type or member is obsolete, we keep it for now for backwards compatibility - [Inject] internal ILogger> Logger { get; set; } + [Inject] internal ILogger> Logger { get; set; } = default!; /// protected override void BuildRenderTree(RenderTreeBuilder builder) @@ -235,7 +235,7 @@ private async Task ProcessLogIn(string returnUrl) Navigation.NavigateTo(redirectUrl, AuthenticationNavigationOptions); break; case RemoteAuthenticationStatus.Failure: - Log.LoginFailed(Logger, result.ErrorMessage); + Log.LoginFailed(Logger, result.ErrorMessage!); Log.NavigatingToUrl(Logger, ApplicationPaths.LogInFailedPath); Navigation.NavigateTo(ApplicationPaths.LogInFailedPath, AuthenticationNavigationOptions with { HistoryEntryState = result.ErrorMessage }); break; @@ -269,7 +269,7 @@ private async Task ProcessLogInCallback() case RemoteAuthenticationStatus.OperationCompleted: break; case RemoteAuthenticationStatus.Failure: - Log.LoginCallbackFailed(Logger, result.ErrorMessage); + Log.LoginCallbackFailed(Logger, result.ErrorMessage!); Log.NavigatingToUrl(Logger, ApplicationPaths.LogInFailedPath); Navigation.NavigateTo( ApplicationPaths.LogInFailedPath, @@ -294,7 +294,7 @@ private async Task ProcessLogOut(string returnUrl) AuthenticationState.ReturnUrl = returnUrl; var state = await AuthenticationProvider.GetAuthenticationStateAsync(); - var isauthenticated = state.User.Identity.IsAuthenticated; + var isauthenticated = state.User.Identity?.IsAuthenticated ?? false; if (isauthenticated) { var interactiveRequest = GetCachedNavigationState(); @@ -321,7 +321,7 @@ private async Task ProcessLogOut(string returnUrl) case RemoteAuthenticationStatus.OperationCompleted: break; case RemoteAuthenticationStatus.Failure: - Log.LogoutFailed(Logger, result.ErrorMessage); + Log.LogoutFailed(Logger, result.ErrorMessage!); Log.NavigatingToUrl(Logger, ApplicationPaths.LogOutFailedPath); Navigation.NavigateTo(ApplicationPaths.LogOutFailedPath, AuthenticationNavigationOptions with { HistoryEntryState = result.ErrorMessage }); break; @@ -359,7 +359,7 @@ private async Task ProcessLogOutCallback() case RemoteAuthenticationStatus.OperationCompleted: break; case RemoteAuthenticationStatus.Failure: - Log.LogoutCallbackFailed(Logger, result.ErrorMessage); + Log.LogoutCallbackFailed(Logger, result.ErrorMessage!); Navigation.NavigateTo(ApplicationPaths.LogOutFailedPath, AuthenticationNavigationOptions with { HistoryEntryState = result.ErrorMessage }); break; default: @@ -367,7 +367,7 @@ private async Task ProcessLogOutCallback() } } - private string GetReturnUrl(TAuthenticationState state, string defaultReturnUrl = null) + private string GetReturnUrl(TAuthenticationState? state, string? defaultReturnUrl = null) { if (state?.ReturnUrl != null) { @@ -385,7 +385,7 @@ private bool ValidateSignOutRequestState() return GetCachedNavigationState()?.Interaction == InteractionType.SignOut; } - private InteractiveRequestOptions GetCachedNavigationState() + private InteractiveRequestOptions? GetCachedNavigationState() { if (_cachedRequest != null) { @@ -407,7 +407,7 @@ private void RedirectToRegister() var registerUrl = Navigation.ToAbsoluteUri(ApplicationPaths.RemoteRegisterPath).AbsoluteUri; var navigationUrl = Navigation.GetUriWithQueryParameters( registerUrl, - new Dictionary { ["returnUrl"] = loginUrl }); + new Dictionary { ["returnUrl"] = loginUrl }); Navigation.NavigateTo(navigationUrl, AuthenticationNavigationOptions with { @@ -446,7 +446,7 @@ private static void DefaultLogInCallbackFragment(RenderTreeBuilder builder) builder.CloseElement(); } - private static RenderFragment DefaultLogInFailedFragment(string message) + private static RenderFragment DefaultLogInFailedFragment(string? message) { return builder => { @@ -472,7 +472,7 @@ private static void DefaultLogOutCallbackFragment(RenderTreeBuilder builder) builder.CloseElement(); } - private static RenderFragment DefaultLogOutFailedFragment(string message) + private static RenderFragment DefaultLogOutFailedFragment(string? message) { return builder => { diff --git a/src/Components/WebAssembly/WebAssembly.Authentication/src/Services/AccessTokenProviderAccessor.cs b/src/Components/WebAssembly/WebAssembly.Authentication/src/Services/AccessTokenProviderAccessor.cs index a7ef00df6c18..fa14efc83269 100644 --- a/src/Components/WebAssembly/WebAssembly.Authentication/src/Services/AccessTokenProviderAccessor.cs +++ b/src/Components/WebAssembly/WebAssembly.Authentication/src/Services/AccessTokenProviderAccessor.cs @@ -8,7 +8,7 @@ namespace Microsoft.AspNetCore.Components.WebAssembly.Authentication.Internal; internal sealed class AccessTokenProviderAccessor : IAccessTokenProviderAccessor { private readonly IServiceProvider _provider; - private IAccessTokenProvider _tokenProvider; + private IAccessTokenProvider? _tokenProvider; public AccessTokenProviderAccessor(IServiceProvider provider) => _provider = provider; diff --git a/src/Components/WebAssembly/WebAssembly.Authentication/src/Services/AccessTokenRequestOptions.cs b/src/Components/WebAssembly/WebAssembly.Authentication/src/Services/AccessTokenRequestOptions.cs index ea365d4d5f04..8b85e0f0ec09 100644 --- a/src/Components/WebAssembly/WebAssembly.Authentication/src/Services/AccessTokenRequestOptions.cs +++ b/src/Components/WebAssembly/WebAssembly.Authentication/src/Services/AccessTokenRequestOptions.cs @@ -11,11 +11,11 @@ public class AccessTokenRequestOptions /// /// Gets or sets the list of scopes to request for the token. /// - public IEnumerable Scopes { get; set; } + public IEnumerable? Scopes { get; set; } /// /// Gets or sets a specific return url to use for returning the user back to the application if it needs to be /// redirected elsewhere in order to provision the token. /// - public string ReturnUrl { get; set; } + public string? ReturnUrl { get; set; } } diff --git a/src/Components/WebAssembly/WebAssembly.Authentication/src/Services/AccessTokenResult.cs b/src/Components/WebAssembly/WebAssembly.Authentication/src/Services/AccessTokenResult.cs index 1a052ba5b932..576b323509d9 100644 --- a/src/Components/WebAssembly/WebAssembly.Authentication/src/Services/AccessTokenResult.cs +++ b/src/Components/WebAssembly/WebAssembly.Authentication/src/Services/AccessTokenResult.cs @@ -33,7 +33,7 @@ public AccessTokenResult(AccessTokenResultStatus status, AccessToken token, [Str /// The in case it was successful. /// The redirect uri to go to for provisioning the token with . /// The containing the parameters for the interactive authentication. - public AccessTokenResult(AccessTokenResultStatus status, AccessToken token, [StringSyntax(StringSyntaxAttribute.Uri)] string interactiveRequestUrl, InteractiveRequestOptions interactiveRequest) + public AccessTokenResult(AccessTokenResultStatus status, AccessToken token, [StringSyntax(StringSyntaxAttribute.Uri)] string? interactiveRequestUrl, InteractiveRequestOptions? interactiveRequest) { Status = status; _token = token; @@ -50,25 +50,25 @@ public AccessTokenResult(AccessTokenResultStatus status, AccessToken token, [Str /// Gets the URL to redirect to if is . /// [Obsolete("Use 'InteractiveRequestUrl' and 'InteractiveRequest' instead.")] - public string RedirectUrl { get; } + public string? RedirectUrl { get; } /// /// Gets the URL to call if is /// . /// - public string InteractiveRequestUrl { get; } + public string? InteractiveRequestUrl { get; } /// /// Gets the to use if is . /// - public InteractiveRequestOptions InteractionOptions { get; } + public InteractiveRequestOptions? InteractionOptions { get; } /// /// Determines whether the token request was successful and makes the available for use when it is. /// /// The if the request was successful. /// true when the token request is successful; false otherwise. - public bool TryGetToken(out AccessToken accessToken) + public bool TryGetToken([NotNullWhen(true)] out AccessToken? accessToken) { if (Status == AccessTokenResultStatus.Success) { diff --git a/src/Components/WebAssembly/WebAssembly.Authentication/src/Services/AccountClaimsPrincipalFactory.cs b/src/Components/WebAssembly/WebAssembly.Authentication/src/Services/AccountClaimsPrincipalFactory.cs index 97ae7bbf5798..8d3bd1f80be6 100644 --- a/src/Components/WebAssembly/WebAssembly.Authentication/src/Services/AccountClaimsPrincipalFactory.cs +++ b/src/Components/WebAssembly/WebAssembly.Authentication/src/Services/AccountClaimsPrincipalFactory.cs @@ -50,7 +50,7 @@ public virtual ValueTask CreateUserAsync( if (value != null || (value is JsonElement element && element.ValueKind != JsonValueKind.Undefined && element.ValueKind != JsonValueKind.Null)) { - identity.AddClaim(new Claim(name, value.ToString())); + identity.AddClaim(new Claim(name, value.ToString()!)); } } } diff --git a/src/Components/WebAssembly/WebAssembly.Authentication/src/Services/AuthorizationMessageHandler.cs b/src/Components/WebAssembly/WebAssembly.Authentication/src/Services/AuthorizationMessageHandler.cs index ca9019aa74cd..1f0cc253880d 100644 --- a/src/Components/WebAssembly/WebAssembly.Authentication/src/Services/AuthorizationMessageHandler.cs +++ b/src/Components/WebAssembly/WebAssembly.Authentication/src/Services/AuthorizationMessageHandler.cs @@ -18,11 +18,11 @@ public class AuthorizationMessageHandler : DelegatingHandler, IDisposable { private readonly IAccessTokenProvider _provider; private readonly NavigationManager _navigation; - private readonly AuthenticationStateChangedHandler _authenticationStateChangedHandler; - private AccessToken _lastToken; - private AuthenticationHeaderValue _cachedHeader; - private Uri[] _authorizedUris; - private AccessTokenRequestOptions _tokenOptions; + private readonly AuthenticationStateChangedHandler? _authenticationStateChangedHandler; + private AccessToken? _lastToken; + private AuthenticationHeaderValue? _cachedHeader; + private Uri[]? _authorizedUris; + private AccessTokenRequestOptions? _tokenOptions; /// /// Initializes a new instance of . @@ -54,7 +54,7 @@ protected override async Task SendAsync(HttpRequestMessage $"Call '{nameof(AuthorizationMessageHandler.ConfigureHandler)}' and provide a list of endpoint urls to attach the token to."); } - if (_authorizedUris.Any(uri => uri.IsBaseOf(request.RequestUri))) + if (request.RequestUri != null && _authorizedUris.Any(uri => uri.IsBaseOf(request.RequestUri))) { if (_lastToken == null || now >= _lastToken.Expires.AddMinutes(-5)) { @@ -94,8 +94,8 @@ await _provider.RequestAccessToken(_tokenOptions) : /// This . public AuthorizationMessageHandler ConfigureHandler( IEnumerable authorizedUrls, - IEnumerable scopes = null, - [StringSyntax(StringSyntaxAttribute.Uri)] string returnUrl = null) + IEnumerable? scopes = null, + [StringSyntax(StringSyntaxAttribute.Uri)] string? returnUrl = null) { if (_authorizedUris != null) { diff --git a/src/Components/WebAssembly/WebAssembly.Authentication/src/Services/ExpiredTokenException.cs b/src/Components/WebAssembly/WebAssembly.Authentication/src/Services/ExpiredTokenException.cs index 32cc594a8c8b..d1ce1b61e484 100644 --- a/src/Components/WebAssembly/WebAssembly.Authentication/src/Services/ExpiredTokenException.cs +++ b/src/Components/WebAssembly/WebAssembly.Authentication/src/Services/ExpiredTokenException.cs @@ -21,7 +21,7 @@ public class AccessTokenNotAvailableException : Exception public AccessTokenNotAvailableException( NavigationManager navigation, AccessTokenResult tokenResult, - IEnumerable scopes) + IEnumerable? scopes) : base(message: "Unable to provision an access token for the requested scopes: " + scopes != null ? $"'{string.Join(", ", scopes ?? Array.Empty())}'" : "(default scopes)") { @@ -42,7 +42,7 @@ public void Redirect() else { #pragma warning disable CS0618 // Type or member is obsolete - _navigation.NavigateTo(_tokenResult.RedirectUrl); + _navigation.NavigateTo(_tokenResult.RedirectUrl!); #pragma warning restore CS0618 // Type or member is obsolete } } @@ -55,7 +55,7 @@ public void Redirect() public void Redirect(Action configureInteractionOptions) { ArgumentNullException.ThrowIfNull(configureInteractionOptions); - configureInteractionOptions(_tokenResult.InteractionOptions); - _navigation.NavigateToLogin(_tokenResult.InteractiveRequestUrl, _tokenResult.InteractionOptions); + configureInteractionOptions(_tokenResult.InteractionOptions!); + _navigation.NavigateToLogin(_tokenResult.InteractiveRequestUrl!, _tokenResult.InteractionOptions!); } } diff --git a/src/Components/WebAssembly/WebAssembly.Authentication/src/Services/RemoteAuthenticationService.cs b/src/Components/WebAssembly/WebAssembly.Authentication/src/Services/RemoteAuthenticationService.cs index b5b15c34562b..274ceafa4bd3 100644 --- a/src/Components/WebAssembly/WebAssembly.Authentication/src/Services/RemoteAuthenticationService.cs +++ b/src/Components/WebAssembly/WebAssembly.Authentication/src/Services/RemoteAuthenticationService.cs @@ -87,7 +87,7 @@ public RemoteAuthenticationService( IOptionsSnapshot> options, NavigationManager navigation, AccountClaimsPrincipalFactory accountClaimsPrincipalFactory, - ILogger> logger) + ILogger>? logger) { JsRuntime = jsRuntime; Navigation = navigation; @@ -190,7 +190,7 @@ public virtual async ValueTask RequestAccessToken(AccessToken } : null); } - private string GetReturnUrl(string customReturnUrl) => + private string GetReturnUrl(string? customReturnUrl) => customReturnUrl != null ? Navigation.ToAbsoluteUri(customReturnUrl).AbsoluteUri : Navigation.Uri; private async Task GetUser(bool useCache = false) diff --git a/src/Components/WebAssembly/WebAssembly.Authentication/src/WebAssemblyAuthenticationServiceCollectionExtensions.cs b/src/Components/WebAssembly/WebAssembly.Authentication/src/WebAssemblyAuthenticationServiceCollectionExtensions.cs index b657c2c0ef7e..4c40da411b76 100644 --- a/src/Components/WebAssembly/WebAssembly.Authentication/src/WebAssemblyAuthenticationServiceCollectionExtensions.cs +++ b/src/Components/WebAssembly/WebAssembly.Authentication/src/WebAssemblyAuthenticationServiceCollectionExtensions.cs @@ -77,7 +77,7 @@ public static IRemoteAuthenticationBuilder /// The where the services were registered. public static IRemoteAuthenticationBuilder AddRemoteAuthentication< [DynamicallyAccessedMembers(JsonSerialized)] TRemoteAuthenticationState, [DynamicallyAccessedMembers(JsonSerialized)] TAccount, [DynamicallyAccessedMembers(JsonSerialized)] TProviderOptions>( - this IServiceCollection services, Action> configure) + this IServiceCollection services, Action>? configure) where TRemoteAuthenticationState : RemoteAuthenticationState where TAccount : RemoteUserAccount where TProviderOptions : class, new() @@ -143,7 +143,7 @@ public static IRemoteAuthenticationBuilder /// The where the services were registered. public static IRemoteAuthenticationBuilder AddApiAuthorization(this IServiceCollection services) { - return AddApiAuthorizationCore(services, configure: null, Assembly.GetCallingAssembly().GetName().Name); + return AddApiAuthorizationCore(services, configure: null, Assembly.GetCallingAssembly().GetName().Name!); } /// @@ -155,7 +155,7 @@ public static IRemoteAuthenticationBuilder AddApiAuthorization<[DynamicallyAccessedMembers(JsonSerialized)] TRemoteAuthenticationState>(this IServiceCollection services) where TRemoteAuthenticationState : RemoteAuthenticationState, new() { - return AddApiAuthorizationCore(services, configure: null, Assembly.GetCallingAssembly().GetName().Name); + return AddApiAuthorizationCore(services, configure: null, Assembly.GetCallingAssembly().GetName().Name!); } /// @@ -170,7 +170,7 @@ public static IRemoteAuthenticationBuilder(services, configure: null, Assembly.GetCallingAssembly().GetName().Name); + return AddApiAuthorizationCore(services, configure: null, Assembly.GetCallingAssembly().GetName().Name!); } /// @@ -182,7 +182,7 @@ public static IRemoteAuthenticationBuilder AddApiAuthorization( this IServiceCollection services, Action> configure) { - return AddApiAuthorizationCore(services, configure, Assembly.GetCallingAssembly().GetName().Name); + return AddApiAuthorizationCore(services, configure, Assembly.GetCallingAssembly().GetName().Name!); } /// @@ -196,7 +196,7 @@ public static IRemoteAuthenticationBuilder> configure) where TRemoteAuthenticationState : RemoteAuthenticationState, new() { - return AddApiAuthorizationCore(services, configure, Assembly.GetCallingAssembly().GetName().Name); + return AddApiAuthorizationCore(services, configure, Assembly.GetCallingAssembly().GetName().Name!); } /// @@ -212,12 +212,12 @@ public static IRemoteAuthenticationBuilder(services, configure, Assembly.GetCallingAssembly().GetName().Name); + return AddApiAuthorizationCore(services, configure, Assembly.GetCallingAssembly().GetName().Name!); } private static IRemoteAuthenticationBuilder AddApiAuthorizationCore<[DynamicallyAccessedMembers(JsonSerialized)] TRemoteAuthenticationState, [DynamicallyAccessedMembers(JsonSerialized)] TAccount>( IServiceCollection services, - Action> configure, + Action>? configure, string inferredClientId) where TRemoteAuthenticationState : RemoteAuthenticationState where TAccount : RemoteUserAccount From e4e38d0d842c320a8e3e6a354f20d2710b21df94 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Thu, 3 Nov 2022 09:12:28 +0800 Subject: [PATCH 2/3] PR feedback --- .../src/Models/InteractiveRequestOptions.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Components/WebAssembly/WebAssembly.Authentication/src/Models/InteractiveRequestOptions.cs b/src/Components/WebAssembly/WebAssembly.Authentication/src/Models/InteractiveRequestOptions.cs index bb7450c15b3f..98996c92f0eb 100644 --- a/src/Components/WebAssembly/WebAssembly.Authentication/src/Models/InteractiveRequestOptions.cs +++ b/src/Components/WebAssembly/WebAssembly.Authentication/src/Models/InteractiveRequestOptions.cs @@ -58,7 +58,7 @@ public bool TryRemoveAdditionalParameter(string name) /// /// Tries to retrieve an existing additional parameter. /// - public bool TryGetAdditionalParameter<[DynamicallyAccessedMembers(JsonSerialized)] TValue>(string name, out TValue? value) + public bool TryGetAdditionalParameter<[DynamicallyAccessedMembers(JsonSerialized)] TValue>(string name, [NotNullWhen(true)] out TValue? value) { ArgumentNullException.ThrowIfNull(name); From 3fa321340a353293f72c33594213878b4b783ec1 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Thu, 3 Nov 2022 09:57:42 +0800 Subject: [PATCH 3/3] Fix build --- .../src/Models/InteractiveRequestOptions.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Components/WebAssembly/WebAssembly.Authentication/src/Models/InteractiveRequestOptions.cs b/src/Components/WebAssembly/WebAssembly.Authentication/src/Models/InteractiveRequestOptions.cs index 98996c92f0eb..6c37dda34a62 100644 --- a/src/Components/WebAssembly/WebAssembly.Authentication/src/Models/InteractiveRequestOptions.cs +++ b/src/Components/WebAssembly/WebAssembly.Authentication/src/Models/InteractiveRequestOptions.cs @@ -69,8 +69,8 @@ public bool TryRemoveAdditionalParameter(string name) } if (rawValue is JsonElement json) { - value = Deserialize(json); - AdditionalRequestParameters[name] = value!; + value = Deserialize(json)!; + AdditionalRequestParameters[name] = value; return true; } else