コード例 #1
0
        private async Task LogIn(bool admin)
        {
            var url = Config.TokenUrl;

            if (admin)
            {
                url += "?admin=true";
            }

            errorMessage = string.Empty;

            try
            {
                var token = await Http.GetStringAsync(url);

                var user = await ApiService.GetAsync <UserModel>($"users/{userId}", token);

                await AuthStateProvider.SetTokenAndUserAsync(token, user);

                NavigationManager.NavigateTo("/");
            }
            catch (Exception ex)
            {
                errorMessage = ex.Message;
            }
        }
コード例 #2
0
        private async Task LoadTimeEntries()
        {
            var userId = (await AuthStateProvider.GetUserAsync()).Id;
            var url    = $"time-entries/user/{userId}/{int.Parse(year)}/{int.Parse(month)}";

            timeEntries = await ApiService.GetAsync <TimeEntryModel[]>(url);

            totalAmount = timeEntries.Sum(x => x.Hours * x.HourRate);
            totalHours  = timeEntries.Sum(x => x.Hours);
        }
コード例 #3
0
ファイル: Login.razor.g.cs プロジェクト: anil-roy/garage-door
        async Task SubmitCredentials()
        {
            var result = await Http.PostJsonAsync <LoginResult>("api/login", credentials);

            loginFailure = result.Token == null;
            if (!loginFailure)
            {
                await AuthStateProvider.SetTokenAsync(result.Token, result.Expiry);
            }
        }
コード例 #4
0
        public ClientState(AuthStateProvider authStateProvider, IStateFactory stateFactory)
        {
            AuthStateProvider = authStateProvider;
            SessionResolver   = AuthStateProvider.SessionResolver;

            User = stateFactory.NewLive <User>(
                o => o.WithUpdateDelayer(0, 1),
                async(_, cancellationToken) => {
                var authState = await AuthState.UseAsync(cancellationToken).ConfigureAwait(false);
                return(authState.User);
            });
        }
コード例 #5
0
        protected override async Task OnInitializedAsync()
        {
            var authState = await AuthStateProvider.GetAuthenticationStateAsync();

            _claimsPrincipal = authState.User;
            _identityUser    = await UserManager.GetUserAsync(_claimsPrincipal);

            if (_identityUser != null)
            {
                _permClaim = new Claim(IPermissionSet.PermissionClaimType, ApplicationPermissions.MyPermission1);
                await RefreshClaims();
            }
        }
コード例 #6
0
        protected override async Task OnInitializedAsync()
        {
            var authState = await AuthStateProvider.GetAuthenticationStateAsync();

            user = authState.User;

            _identityUser = await UserManager.GetUserAsync(user);

            if (_identityUser != null)
            {
                _userRoles = await UserManager.GetRolesAsync(_identityUser);

                _userClaims = await UserManager.GetClaimsAsync(_identityUser);
            }
        }
コード例 #7
0
        protected override async Task OnInitializedAsync()
        {
            await LoadProjects();

            if (Id > 0)
            {
                await LoadTimeEntry();
            }
            else
            {
                timeEntry = new TimeEntryInputModel
                {
                    UserId    = (await AuthStateProvider.GetUserAsync()).Id,
                    EntryDate = DateTime.Today,
                    Hours     = 1
                };
                year  = DateTime.Today.Year.ToString();
                month = DateTime.Today.Month.ToString();
                day   = DateTime.Today.Day.ToString();
            }
        }
コード例 #8
0
ファイル: ClientState.cs プロジェクト: mrHBH/About
        public ClientState(
            IChatService chatService,
            AuthStateProvider authStateProvider,
            IStateFactory stateFactory)
        {
            ChatService       = chatService;
            AuthStateProvider = authStateProvider;
            SessionResolver   = AuthStateProvider.SessionResolver;

            User = stateFactory.NewLive <User>(
                o => o.WithInstantUpdates(),
                async(_, cancellationToken) => {
                var authState = await AuthState.UseAsync(cancellationToken);
                return(authState.User);
            });
            ChatUser = stateFactory.NewLive <ChatUser?>(
                o => {
                o.InitialOutputFactory = _ => null;     // The default factory uses parameterless constructor instead
                o.WithInstantUpdates();
            },
                (_, cancellationToken) => ChatService.GetCurrentUserAsync(Session, cancellationToken));
        }
コード例 #9
0
        /// <summary>
        /// On form valid submit. Attempt to login
        /// the user and notify the application of the
        /// new login user
        /// </summary>
        /// <returns>
        /// Async Task of logging in a user
        /// </returns>
        public async Task HandleValidSubmit()
        {
            // Make request to login the user
            HttpResponseMessage loginResponse = await HttpClient.PostAsJsonAsync("/api/login", UserLoginModel);

            // Get the auth user model
            AuthUserModel authUser = await loginResponse.Content.ReadFromJsonAsync <AuthUserModel>();

            // If unsuccesful display an error
            if (authUser == null || authUser.Token == null || authUser.Token == "")
            {
                DisplayError = true;
            }
            // Otherwise set the auth provider and notify the rest of the app
            else
            {
                DisplayError = false;
                AuthStateProvider authProvider = AuthProvider as AuthStateProvider;
                await authProvider.NotifyUserLogin(authUser);

                NavigationManager.NavigateTo("/", true);
            }
        }
コード例 #10
0
 private AuthenticationState GetAuthState()
 {
     return(AuthStateProvider?.GetAuthenticationStateAsync()?.GetAwaiter().GetResult());
 }
コード例 #11
0
ファイル: NavMenu.razor.cs プロジェクト: CSE-550/Bookish
 public async Task Logout()
 {
     AuthStateProvider authProvider = AuthProvider as AuthStateProvider;
     await authProvider.NotifyUserLogout();
 }
コード例 #12
0
 public RefreshTokenService(AuthStateProvider authProvider, IAuthService authService)
 {
     _authProvider = authProvider;
     _authService  = authService;
 }
コード例 #13
0
        #pragma warning restore 1998
#line 33 "C:\Users\dejan.tamamovic\Desktop\ASP.NET Core\workshop\TimeTracker\TimeTracker.Client\Shared\MainLayout.razor"

        public Task LogOut()
        => AuthStateProvider.SetTokenAndUserAsync(null, null);