示例#1
0
        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);
        }
示例#2
0
        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);
            }
        }