// private readonly EmailService _emailService;

        public UsersController(UserService userService, FacebookAuthService facebookAuthService, GoogleAuthService googleAuthService)
        {
            _userService         = userService;
            _facebookAuthService = facebookAuthService;
            _googleAuthService   = googleAuthService;
            // _emailService = emailService;
        }
예제 #2
0
 public AccountController(
     UserManager <AppUser> userManager,
     SignInManager <AppUser> signInManager,
     IConfiguration configuration,
     FacebookAuthService facebookAuthService
     )
 {
     _facebookAuthService = facebookAuthService;
     _userManager         = userManager;
     _signInManager       = signInManager;
     _configuration       = configuration;
 }
예제 #3
0
        public IHttpActionResult Login([FromBody] string token)
        {
            IAuthService authService = new FacebookAuthService(shoppingEntities);
            var          userDto     = authService.GetUserFromProviderToken(token);
            var          user        = shoppingEntities.Users.FirstOrDefault(t => t.FacebookId == userDto.FacebookId);

            if (user == null)
            {
                user = userDto.ToModel();
                user.Notification = true;
                user.CreatedDate  = System.DateTime.Now;
                shoppingEntities.Users.Add(user);

                var userToken = new UserToken
                {
                    Id     = Guid.NewGuid(),
                    Name   = token,
                    UserId = user.Id
                };

                shoppingEntities.UserTokens.Add(userToken);
            }
            else
            {
                var userToken = shoppingEntities.UserTokens.FirstOrDefault(t => t.Name == token);

                if (userToken == null)
                {
                    userToken = new UserToken
                    {
                        Id     = Guid.NewGuid(),
                        Name   = token,
                        UserId = user.Id
                    };
                    shoppingEntities.UserTokens.Add(userToken);
                }
            }

            shoppingEntities.SaveChanges();

            var usr    = shoppingEntities.Users.FirstOrDefault(t => t.Id == user.Id);
            var usrDto = new UserDto(usr);

            userDto.AccessToken = token;
            return(Ok(usrDto));
        }