private async Task <bool> CreateUser(ExternalLoginSsoDTO model) { var newUser = new User { Email = model.Email, IsProfileCompleted = false, UserName = model.Email, FirstName = model.FirstName, LastName = model.LastName }; var result = await _userManager.CreateAsync(newUser); return(result.Succeeded); }
private async Task <bool> RegisterUser(ExternalLoginSsoDTO model) { var isUserCreated = await CreateUser(model); if (!isUserCreated) { return(false); } var user = await _userManager.FindByEmailAsync(model.Email); var isRoleAdded = await AddRoleToUser(user); if (isRoleAdded) { return(true); } await _userManager.DeleteAsync(user); return(false); }
public async Task <GraphApiResponseDTO> GetAuthorizedUserDetails(string token) { GraphApiResponseDTO graphApiResponse = new GraphApiResponseDTO(); var client = new GraphApiHelper(token); string url = "https://graph.microsoft.com/v1.0/me"; using HttpResponseMessage response = await client.ApiClient.GetAsync(url); if (response.IsSuccessStatusCode) { ExternalLoginSsoDTO user = await JsonSerializer.DeserializeAsync <ExternalLoginSsoDTO>(await response.Content.ReadAsStreamAsync()); graphApiResponse.externalLoginUser = user; return(graphApiResponse); } else { graphApiResponse.Error = response.ReasonPhrase; return(graphApiResponse); } }