public async Task <IActionResult> Login([FromBody] UserFacebookAuthRequest request)
        {
            var authResponse = await _identityService.LoginWithFacebookAsync(request.AcccessToken);

            if (!authResponse.Success)
            {
                return(BadRequest());
            }
            return(Oke(new AuthSuccessResponse {
                Token = authResponse
            }));
        }
Example #2
0
        public async Task <IActionResult> Login([FromBody] UserFacebookAuthRequest request)
        {
            //ModelState ValidationFilter
            var loginResponse = await identityService.LoginWithFacebookAsync(request.AccessToken);

            if (!loginResponse.Success)
            {
                return(BadRequest(loginResponse));
            }

            return(Ok(loginResponse));
        }
Example #3
0
        public async Task <IActionResult> FacebookAuth([FromBody] UserFacebookAuthRequest request)
        {
            var authResponse = await _identityService.LoginWithFacebookAsync(request.AccessToken);

            if (!authResponse.Success)
            {
                return(BadRequest(new AuthFailedResponse
                {
                    Errors = authResponse.Errors
                }));
            }

            return(Ok(new AuthSuccessResponse
            {
                Token = authResponse.Token,
                RefreshToken = authResponse.RefreshToken
            }));
        }
        public async Task <IActionResult> LoginFacebook([FromBody] UserFacebookAuthRequest userFacebookRequest)
        {
            var authResponse = await _facebookAuthService.ValidateAccessTokenAsync(userFacebookRequest.AccessToken);

            if (!authResponse.Data.IsValid)
            {
                return(StatusCode(500, new { error = "Error with token while logging with Facebook" }));
            }
            var userInfo = await _facebookAuthService.GetUserInfoAsync(userFacebookRequest.AccessToken);

            var userLoaded = _userService.GetFromEmail(userInfo.Email);

            if (userLoaded == null)
            {
                var newUser = new User(userInfo.FirstName, userInfo.LastName, userInfo.Email);
                _userService.Create(newUser);
                newUser.Token = _userService.GenerateJwt();
                return(Ok(newUser));
            }
            userLoaded.Token = _userService.GenerateJwt();
            return(Ok(userLoaded));
        }