6 changed files
WPE.App.Shared.Authentication.Native | ||
Business | ||
Flow | ||
OpenIDAuthenticationStateProvider.cs | ||
WebBrowserAuthenticator.cs | ||
Token | ||
TokenManager.cs | ||
LoginService.cs | ||
Models | ||
AuthenticationConfiguration.cs | ||
WPE.App.Shared.Authentication.Native.csproj | ||
OpenIDAuthenticationStateProvider.cs
/WPE.App.Shared.Authentication.Native/Business/Flow/OpenIDAuthenticationStateProvider.cs-13+2/WPE.App.Shared.Authentication.Native/Business/Flow/OpenIDAuthenticationStateProvider.cs
Add comment 9 /// <summary>
Add comment 10 /// Implements <see cref="IAuthenticationStateProvider"/> by extending on <see cref="AuthenticationStateProvider"/>
Add comment 11 /// </summary>
Add comment 12 Minus internal class OpenIDAuthenticationStateProvider : AuthenticationStateProvider, IAuthenticationStateProvider
Add comment 13 Minus {
Add comment 14 Minus private IAuthClient AuthClient { get; }
Add comment 15 Minus private ITokenManager TokenManager { get; }
Add comment 16 Minus private ClaimsPrincipal currentUser = new(new ClaimsIdentity());
Add comment 17 Minus
Add comment 18 Minus /// <summary>
Add comment 19 Minus /// Default constructor for DI
Add comment 20 Minus /// </summary>
Add comment 21 12 /// <param name="AuthClient">OIDC client to perform the actual login</param>
Add comment 22 13 /// <param name="TokenManager">Manager to store and query tokens</param>
Add comment 23 Minus public OpenIDAuthenticationStateProvider(IAuthClient AuthClient, ITokenManager TokenManager)
Add comment 14 Plus internal class OpenIDAuthenticationStateProvider(IAuthClient AuthClient, ITokenManager TokenManager) : AuthenticationStateProvider, IAuthenticationStateProvider
Add comment 24 15 {
Add comment 25 Minus this.AuthClient = AuthClient;
Add comment 26 Minus this.TokenManager = TokenManager;
Add comment 27 Minus }
Add comment 16 Plus private ClaimsPrincipal currentUser = new(new ClaimsIdentity());
Add comment 28 17
Add comment 29 18 /// <inheritdoc/>
Add comment 30 19 public override Task<AuthenticationState> GetAuthenticationStateAsync() =>
WebBrowserAuthenticator.cs
/WPE.App.Shared.Authentication.Native/Business/Flow/WebBrowserAuthenticator.cs-7+1/WPE.App.Shared.Authentication.Native/Business/Flow/WebBrowserAuthenticator.cs
Add comment 8 /// <summary>
Add comment 9 /// Implements <see cref="IdentityModel.OidcClient.Browser.IBrowser"/>
Add comment 10 /// </summary>
Add comment 11 Minus internal class WebBrowserAuthenticator : IdentityModel.OidcClient.Browser.IBrowser
Add comment 12 Minus {
Add comment 13 Minus private IAuthenticatorProvider AuthenticatorProvider { get; }
Add comment 14 Minus
Add comment 15 Minus public WebBrowserAuthenticator(IAuthenticatorProvider AuthenticatorProvider)
Add comment 11 Plus internal class WebBrowserAuthenticator(IAuthenticatorProvider AuthenticatorProvider) : IdentityModel.OidcClient.Browser.IBrowser
Add comment 16 12 {
Add comment 17 Minus this.AuthenticatorProvider = AuthenticatorProvider;
Add comment 18 Minus }
Add comment 19 13
Add comment 20 14 /// <inheritdoc/>
Add comment 21 15 public async Task<BrowserResult> InvokeAsync(BrowserOptions options, CancellationToken cancellationToken = default)
TokenManager.cs
/WPE.App.Shared.Authentication.Native/Business/Token/TokenManager.cs-12+1/WPE.App.Shared.Authentication.Native/Business/Token/TokenManager.cs
Add comment 5 /// <summary>
Add comment 6 /// Implements <see cref="ITokenManager"/>
Add comment 7 /// </summary>
Add comment 8 Minus internal class TokenManager : ITokenManager
Add comment 9 Minus {
Add comment 10 Minus private IAuthClient AuthClient { get; }
Add comment 11 Minus private ISecureTokenStorage SecureTokenStorage { get; }
Add comment 12 Minus
Add comment 13 Minus /// <summary>
Add comment 14 Minus /// Default constructor for DI
Add comment 15 Minus /// </summary>
Add comment 16 8 /// <param name="AuthClient">OIDC auth client</param>
Add comment 17 9 /// <param name="SecureTokenStorage">Native secure token storage</param>
Add comment 18 Minus public TokenManager(IAuthClient AuthClient, ISecureTokenStorage SecureTokenStorage)
Add comment 10 Plus internal class TokenManager(IAuthClient AuthClient, ISecureTokenStorage SecureTokenStorage) : ITokenManager
Add comment 19 11 {
Add comment 20 Minus this.AuthClient = AuthClient;
Add comment 21 Minus this.SecureTokenStorage = SecureTokenStorage;
Add comment 22 Minus }
Add comment 23 12
Add comment 24 13 /// <inheritdoc/>
Add comment 25 14 public async Task<string?> GetIdToken()
LoginService.cs
/WPE.App.Shared.Authentication.Native/Business/LoginService.cs/WPE.App.Shared.Authentication.Native/Business/LoginService.cs
AuthenticationConfiguration.cs
/WPE.App.Shared.Authentication.Native/Models/AuthenticationConfiguration.cs/WPE.App.Shared.Authentication.Native/Models/AuthenticationConfiguration.cs
WPE.App.Shared.Authentication.Native.csproj
/WPE.App.Shared.Authentication.Native/WPE.App.Shared.Authentication.Native.csproj/WPE.App.Shared.Authentication.Native/WPE.App.Shared.Authentication.Native.csproj