Example #1
0
        public IHttpActionResult Register(UserLoginDto userLoginDto)
        {
            var  userDto              = userLoginDto.User;
            var  credentials          = userLoginDto.Credentials;
            User user                 = userDto.ToUser();
            IProviderVerifyResult res = LoginService.VerifyCredentials(credentials);

            user.ProfilePicture = res.ProfilePictureUrl;
            UserLoginInfo loginInfo = new UserLoginInfo(credentials.Provider, res.Id); //TODO add user prof picture to user once model supports that

            if (loginInfo == null)
            {
                return(BadRequest("Invalid authentication data"));
            }
            var extantUser = UserManager.Find(loginInfo);

            if (extantUser != null)
            {
                return(BadRequest("You have already created an account!"));
            }
            bool created = LoginService.CreateAccount(user, loginInfo);

            if (created)
            {
                return(Ok());
            }
            else
            {
                return(BadRequest());
            }
        }
 public void Initialize()
 {
     _facebookUser        = UserGenerator.GenerateFacebookUser();
     _twitterUser         = UserGenerator.GenerateTwitterUser();
     _facebookResult      = ProviderVerifyResultGenerator.GenFacebookVerifyResult();
     _twitterResult       = ProviderVerifyResultGenerator.GenTwitterVerifyResult();
     _facebookGrant       = AccessGrantGenerator.GenFacebookGrant();
     _twitterGrant        = AccessGrantGenerator.GenTwitterGrant();
     _facebookCredentials = CredentialsDtoGenerator.GenFacebookCredentials();
     _twitterCredentials  = CredentialsDtoGenerator.GenTwitterCredentials();
 }
Example #3
0
        public Models.IProviderVerifyResult VerifyCredentials(CredentialsDto credentials)
        {
            IProviderVerifyResult res = null;
            String provider           = credentials.Provider;

            if (provider == CredentialsDto.FACEBOOK)
            {
                FacebookService.Token = credentials.Token;
                res = FacebookService.VerifyCredentials();
            }
            else if (provider == CredentialsDto.TWITTER)
            {
                TwitterService.Secret = credentials.Secret;
                TwitterService.Token  = credentials.Token;
                res = TwitterService.VerifyCredentials();
            }
            return(res);
        }
        private void assertApiLoginReturnsAccessGrantWhenLegitCredentials(AccessGrantDto grant, User user, CredentialsDto credentials, IProviderVerifyResult verifyResult)
        {
            var loginMock = new Mock <ILoginService>();

            loginMock.Setup(svc => svc.VerifyCredentials(credentials)).Returns(verifyResult);
            loginMock.Setup(svc => svc.GenerateAccessGrant(user, credentials)).Returns(grant);
            var userManager = Mock.Of <IUserManager>(man => man.Find(It.IsAny <UserLoginInfo>()) == user);
            var con         = new AccountsController(userManager, loginMock.Object);
            var response    = con.Login(credentials);
            var result      = response as OkNegotiatedContentResult <AccessGrantDto>;
            var resultGrant = result.Content;

            Assert.IsTrue(resultGrant.EqualValues(grant));
        }