private static async Task AssertDoesGetAccessTokenUsingRefreshTokenCookie(IJsonServiceClient client) { var authResponse = await client.PostAsync(new Authenticate { provider = "credentials", UserName = "******", Password = "******", }); var initialAccessToken = client.GetTokenCookie(); var initialRefreshToken = client.GetRefreshTokenCookie(); Assert.That(initialAccessToken, Is.Not.Null); Assert.That(initialRefreshToken, Is.Not.Null); var request = new Secured { Name = "test" }; var response = await client.SendAsync(request); Assert.That(response.Result, Is.EqualTo(request.Name)); client.Post(new InvalidateLastAccessToken()); // JwtAuthProvider.PrintDump(initialAccessToken); // JwtAuthProvider.PrintDump(initialRefreshToken); response = await client.SendAsync(request); Assert.That(response.Result, Is.EqualTo(request.Name)); var latestAccessToken = client.GetTokenCookie(); Assert.That(latestAccessToken, Is.Not.EqualTo(initialAccessToken)); }
private async Task SetProfile() { UpdateProfileProps(await _serviceClient.PostAsync(new SetProfile { AboutMe = AboutMe, DisplayName = DisplayName })); await _hub.UpdateMyDisplayName(DisplayName); ResetEditMode(); }
/// <summary> /// Authenticates the user. /// </summary> /// <param name="username"> The user's username. </param> /// <param name="password"> The user's password. </param> /// <returns> The authenticated user. </returns> public async Task<UserModel> LoginUser(string username, string password) { var loginModel = new LoginModel() { Username = username, Password = password }; var result = await _jsonClient.PostAsync<UserModel>("/api/account/login", loginModel); // set bearer token for future requests _jsonClient.BearerToken = result.BearerToken; return result; }
public SettingsViewModel(IJsonServiceClient serviceClient) { ChatSettings = new UserChatSettings(); LoginAuditCollection = new ObservableCollection <LoginAuditViewModel>(); ContextMenuCommand = ReactiveCommand.CreateFromTask(async() => { IsContextMenu = !IsContextMenu; ContextMenuSettingsActiveEvent?.Invoke(IsContextMenu); }); OpenSettingsCommand = ReactiveCommand.CreateFromTask(async() => { IsOpened = !IsOpened; CloseContextMenu(); GetSettingsCommand.Execute(null); OpenSettingsActiveEvent?.Invoke(IsOpened); }); GetSettingsCommand = ReactiveCommand.CreateFromTask(async() => { SetSelectedMenuItem(SelectedMenuItem.Settings); var settingsUser = await serviceClient.GetAsync(new GetMySettings()); if (settingsUser.SendingMessageByEnterKey) { TypeEnter = settingsUser.SendingMessageByEnterKey; TypeEnterEvent?.Invoke(TypeEnter); } }); SaveSettingsCommand = ReactiveCommand.CreateFromTask(async() => { var settingsUser = await serviceClient.PostAsync(new SetSettings { SendingMessageByEnterKey = TypeEnter }); ChatSettings = settingsUser; }); MorePointerPressedCommand = ReactiveCommand.Create <object>(obj => { IsContextMenu = false; }); GetHistoryLoginAuditCommand = ReactiveCommand.CreateFromTask(async() => { SetSelectedMenuItem(SelectedMenuItem.Audit); LoginAuditCollection.Clear(); LoginHistoryCollection = await serviceClient.GetAsync(new GetLoginAudit()); foreach (var item in LoginHistoryCollection.History.Take(100)) { LoginAuditView = new LoginAuditViewModel { Id = item.Id, IpAddress = item.IpAddress, OperatingSystem = item.OperatingSystem, NameVersionClient = item.NameVersionClient, DateOfEntry = item.DateOfEntry.Date == DateTime.Now.Date ? $"{item.DateOfEntry:HH:mm}" : $"{item.DateOfEntry:dd.MM.yyyy HH:mm}", IsActive = item.SessionId == LoginHistoryCollection.UniqueSessionUser ? "Активный" : "" }; LoginAuditCollection.Add(LoginAuditView); } }); }