public loginController(IUserRepository userRepo, IModelTokenGenerator <Mdls.User> tokenG, IDecryptProvider decryptProvider, IJwtSecurityProvider tokenp)
 {
     userRepository     = userRepo;
     tokenGenerator     = tokenG;
     decryptionProvider = decryptProvider;
     tokenProvider      = tokenp;
 }
        public void JwtSecurityProviderCreated()
        {
            IServiceProvider sp = StartUp.ServiceProvider;

            IJwtSecurityProvider        jwtSecurityProvider = sp.GetService <IJwtSecurityProvider>();
            IModelTokenGenerator <User> TokenGenerator      = GetTokenGenerator();
            string token = jwtSecurityProvider.WriteToken <User>(TokenGenerator);
            ReadOnlyCollection <Claim> claims = jwtSecurityProvider.GetClaimsCollection(token);

            Assert.IsNotNull(token);
            Assert.IsNotNull(claims.GetKey(UserKey));
            Assert.IsNotNull(claims.GetKey(ClaimTypes.Role));

            //string role = claims.GetKey(ClaimTypes.Role);

            //IEncryptionProvider encryptionProvider = sp.GetService<IEncryptionProvider>();
            //string text = "I am sergio";
            //string encrypted = encryptionProvider.Encrypt(text);
            //string decrypted = encryptionProvider.Decrypt(encrypted);

            //DecryptProvider decryptService = new DecryptProvider();
            //EncryptionKeyProvider encryptProvider = new EncryptionKeyProvider(decryptService);
            //string enc = encryptProvider.Encrypt(text);
            //string key = encryptProvider.EncryiptionKey;
            //var value = decryptService.Decrypt(enc, key);

            //Assert.IsTrue(text == decrypted);



            //Assert.IsNotNull(token);
        }
Esempio n. 3
0
        public string WriteToken <T>(IModelTokenGenerator <T> tokenGenerator)
        {
            string token     = jwtSecurityProvider.WriteToken <T>(tokenGenerator);
            string encrypted = Encrypt(token);

            return(encrypted);
        }
        public string WriteToken <T>(IModelTokenGenerator <T> tokenGenerator)
        {
            JwtSecurityTokenHandler tokenHandler = new JwtSecurityTokenHandler();
            ClaimsIdentity          Identity     = tokenGenerator.getClaims;
            SecurityTokenDescriptor descriptor   = GetTokenDescriptor(Identity);
            SecurityToken           token        = tokenHandler.CreateToken(descriptor);

            return(tokenHandler.WriteToken(token));
        }
        public void TokenEncryptionProviderEncrypts()
        {
            IServiceProvider sp = StartUp.ServiceProvider;

            ITokenEncryptionProvider    encryptionProvider = sp.GetService <ITokenEncryptionProvider>();
            IModelTokenGenerator <User> tokenGenerator     = GetTokenGenerator();

            string encryptedToken             = encryptionProvider.WriteToken <User>(tokenGenerator);
            ReadOnlyCollection <Claim> claims = encryptionProvider.GetClaimsCollection(encryptedToken);

            Assert.IsNotNull(encryptedToken);
            Assert.IsNotNull(claims.GetKey(UserKey));
            Assert.IsNotNull(claims.GetKey(ClaimTypes.Role));

            //string text = "I am sergio";
            //string encrypted = encryptionProvider.Encrypt(text);
            //string decrypted = encryptionProvider.Decrypt(encrypted);

            //Assert.IsTrue(text == decrypted);
        }
        public IModelTokenGenerator <User> GetTokenGenerator()
        {
            IServiceProvider            sp             = StartUp.ServiceProvider;
            IModelTokenGenerator <User> tokenGenerator = sp.GetService <IModelTokenGenerator <User> >();

            User user = new User
            {
                id   = "597b468a7ab542adcc6d247f",
                Role = RoleType.Participant
            };
            Dictionary <string, Func <User, object> > contract = new Dictionary <string, Func <User, object> >()
            {
                { UserKey, (User u) => u.id },
                { ClaimTypes.Role, (User u) => (int)u.Role }
            };


            tokenGenerator.Create(user, contract);
            ClaimsIdentity identity = tokenGenerator.getClaims;

            Assert.IsNotNull(identity);

            return(tokenGenerator);
        }