public async Task <IActionResult> GetUserByEmail(string email) { if (string.IsNullOrEmpty(email)) { ModelState.AddModelError(nameof(email), "email cannot be empty"); return(BadRequest(ModelState)); } if (!(new EmailAddressAttribute().IsValid(email))) { ModelState.AddModelError(nameof(email), "email does not exist"); return(NotFound(ModelState)); } var emailText = email.Replace("'", "''"); var filter = $"otherMails/any(c:c eq '{emailText}')"; var profile = new UserProfileHelper(_userAccountService, _settings); var userProfile = await profile.GetUserProfileAsync(filter); if (userProfile == null) { return(NotFound()); } return(Ok(userProfile)); }
public async Task <IActionResult> GetUserByUserName(string userName) { if (string.IsNullOrEmpty(userName)) { ModelState.AddModelError(nameof(userName), "user principal name cannot be empty"); return(BadRequest(ModelState)); } var filterText = userName.Replace("'", "''"); var filter = $"userPrincipalName eq '{filterText}'"; var profile = new UserProfileHelper(_userAccountService, _settings); try { var userProfile = await profile.GetUserProfileAsync(filter); if (userProfile != null) { return(Ok(userProfile)); } ModelState.AddModelError(nameof(userName), "user principal name does not exist"); return(NotFound(ModelState)); } catch (UnauthorizedAccessException ex) { return(Unauthorized(ex.Message)); } }
async Task <bool> LoginAsync(MobileServiceAuthenticationProvider provider) { if (!Plugin.Connectivity.CrossConnectivity.Current.IsConnected) { Acr.UserDialogs.UserDialogs.Instance.Alert("Ensure you have internet connection to login.", "No Connection", "OK"); return(false); } MobileServiceUser user = null; try { authentication.ClearCookies(); user = await authentication.LoginAsync(client, provider); if (user != null) { IsBusy = true; UserProfile = await UserProfileHelper.GetUserProfileAsync(client); } } catch (Exception ex) { Logger.Instance.Report(ex); } finally { IsBusy = false; } if (user == null || UserProfile == null) { Settings.LoginAccount = LoginAccount.None; Settings.UserFirstName = string.Empty; Settings.AuthToken = string.Empty; Settings.UserLastName = string.Empty; Logger.Instance.Track("LoginError"); Acr.UserDialogs.UserDialogs.Instance.Alert("Unable to login or create account.", "Login error", "OK"); return(false); } else { Init(); Logger.Instance.Track("LoginSuccess"); } return(true); }
public async Task <IActionResult> GetUserByAdUserId(string userId) { var filterText = userId.Replace("'", "''"); var filter = $"objectId eq '{filterText}'"; var profile = new UserProfileHelper(_userAccountService, _settings); var userProfile = await profile.GetUserProfileAsync(filter); if (userProfile == null) { ModelState.AddModelError(nameof(userId), "user does not exist"); return(NotFound(ModelState)); } return(Ok(userProfile)); }
public async Task <IActionResult> ResetUserPassword([FromBody] string username) { if (string.IsNullOrWhiteSpace(username)) { ModelState.AddModelError(nameof(username), "username cannot be empty"); return(BadRequest(ModelState)); } var filterText = username.Replace("'", "''"); var filter = $"userPrincipalName eq '{filterText}'"; var profile = new UserProfileHelper(_userAccountService, _settings); var userProfile = await profile.GetUserProfileAsync(filter); if (userProfile == null) { return(NotFound()); } var password = await _userAccountService.UpdateUserPasswordAsync(userProfile.UserName); return(Ok(new UpdateUserResponse { NewPassword = password })); }
public async Task Should_return_case_admin_for_user_with_money_claims_group() { GivenFilterReturnsUserWithCaseTypeGroups("Civil Money Claims"); var userProfile = await _helper.GetUserProfileAsync(Filter); userProfile.UserRole.Should().Be("CaseAdmin"); }