public virtual void SetUp()
        {
            jwt     = new JWTCreator();
            options = new JWTOptions();
            du      = new DateUtil();
            keyGen  = new SymmetricKeyGenerator();
            claims  = new PrivateClaims();

            currentDate = du.GetCurrentDate();
            hexaKey     = keyGen.doGenerateKey("GENERICRANDOM", 256);

            options.AddRegisteredClaim("aud", "jitsi");
            options.AddRegisteredClaim("iss", "my_client");
            options.AddRegisteredClaim("sub", "meet.jit.si");
            string expiration = du.CurrentPlusSeconds(200);

            options.AddCustomTimeValidationClaim("exp", expiration, "20");

            claims.setClaim("hola", "hola");

            options.AddHeaderParameter("cty", "twilio-fpa;v=1");
            options.SetSecret(hexaKey);

            token = jwt.DoCreate("HS256", claims, options);
        }
        public virtual void SetUp()
        {
            jwt     = new JWTCreator();
            options = new JWTOptions();

            keyGen       = new SymmetricKeyGenerator();
            claimslevel1 = new PrivateClaims();
            claimslevel2 = new PrivateClaims();
            claimslevel3 = new PrivateClaims();


            hexaKey = keyGen.doGenerateKey("GENERICRANDOM", 256);

            options.AddRegisteredClaim("aud", "jitsi");
            options.AddRegisteredClaim("iss", "my_client");
            options.AddRegisteredClaim("sub", "meet.jit.si");


            claimslevel1.setClaim("room", "*");

            claimslevel1.setClaim("context", claimslevel2);

            claimslevel2.setClaim("user", claimslevel3);
            claimslevel3.setClaim("avatar", "https:/gravatar.com/avatar/abc123");
            claimslevel3.setClaim("name", "John Doe");
            claimslevel3.setClaim("email", "*****@*****.**");
            claimslevel3.setClaim("id", "abcd:a1b2c3-d4e5f6-0abc1-23de-abcdef01fedcba");
            claimslevel2.setClaim("group", "a123-123-456-789");

            options.SetSecret(hexaKey);
            token = jwt.DoCreate("HS256", claimslevel1, options);
        }
Пример #3
0
        public virtual void SetUp()
        {
            options1 = new JWTOptions();
            options2 = new JWTOptions();
            jwt      = new JWTCreator();
            claims   = new PrivateClaims();
            claims.setClaim("hola1", "hola1");
            path_RSA_sha256_1024 = Path.Combine(BASE_PATH, "dummycerts", "RSA_sha256_1024");

            String            pathKey  = Path.Combine(path_RSA_sha256_1024, "sha256d_key.pem");
            String            pathCert = Path.Combine(path_RSA_sha256_1024, "sha256_cert.crt");
            PrivateKeyManager key      = new PrivateKeyManager();
            CertificateX509   cert     = new CertificateX509();

            key.Load(pathKey);
            cert.Load(pathCert);

            options1.SetCertificate(cert);
            options1.SetPrivateKey(key);
            options1.AddRegisteredClaim("iss", "GXSA");
            options1.AddRegisteredClaim("sub", "subject1");
            options1.AddRegisteredClaim("aud", "audience1");

            options2.AddRegisteredClaim("iss", "GXSA");
            options2.AddRegisteredClaim("sub", "subject1");
            options2.AddRegisteredClaim("aud", "audience1");
            options2.SetCertificate(cert);

            token = jwt.DoCreate("RS256", claims, options1);
        }
        public virtual void SetUp()
        {
            jwt     = new JWTCreator();
            options = new JWTOptions();
            keyGen  = new SymmetricKeyGenerator();
            claims  = new PrivateClaims();
            rList   = new RevocationList();



            options.AddRegisteredClaim("iss", "GXSA");
            options.AddRegisteredClaim("sub", "subject1");
            options.AddRegisteredClaim("aud", "audience1");
            ID = "0696bb20-6223-4a1c-9ebf-e15c74387b9c, 0696bb20-6223-4a1c-9ebf-e15c74387b9c";            //&guid.Generate()
            options.AddRegisteredClaim("jti", ID);
            claims.setClaim("hola1", "hola1");
            claims.setClaim("hola2", "hola2");

            String hexaKey = keyGen.doGenerateKey("GENERICRANDOM", 256);

            options.SetSecret(hexaKey);
            options.AddRevocationList(rList);

            token = jwt.DoCreate("HS256", claims, options);
        }
        public virtual void SetUp()
        {
            du           = new DateUtil();
            guid         = new GUID();
            keyGenerator = new SymmetricKeyGenerator();
            jwt          = new JWTCreator();
            options      = new JWTOptions();
            claims       = new PrivateClaims();

            options.AddRegisteredClaim("iss", "GXSA");
            options.AddRegisteredClaim("sub", "subject1");
            options.AddRegisteredClaim("aud", "audience1");

            options.AddRegisteredClaim("jti", guid.Generate());

            options.AddCustomTimeValidationClaim("exp", du.CurrentPlusSeconds(100), "20");
            options.AddCustomTimeValidationClaim("iat", du.GetCurrentDate(), "20");
            options.AddCustomTimeValidationClaim("nbf", du.GetCurrentDate(), "20");

            claims.setClaim("hola1", "hola1");
            claims.setClaim("hola2", "hola2");

            path_RSA_sha256_1024 = Path.Combine(BASE_PATH, "dummycerts", "RSA_sha256_1024");
            path_RSA_sha256_2048 = Path.Combine(BASE_PATH, "dummycerts", "RSA_sha256_2048");
            path_RSA_sha512_2048 = Path.Combine(BASE_PATH, "dummycerts", "RSA_sha512_2048");
            path_EC = Path.Combine(BASE_PATH, "dummycerts", "JWT_ECDSA", "prime_test");

            alias    = "1";
            password = "******";
        }
Пример #6
0
        public virtual void SetUp()
        {
            cert    = new CertificateX509();
            key     = new PrivateKeyManager();
            options = new JWTOptions();
            claims  = new PrivateClaims();
            du      = new DateUtil();
            jwt     = new JWTCreator();


            cert.Load(BASE_PATH + "dummycerts\\RSA_sha256_1024\\sha256_cert.crt");
            options.SetCertificate(cert);


            key.Load(BASE_PATH + "dummycerts\\RSA_sha256_1024\\sha256d_key.pem");
            options.SetPrivateKey(key);
            //
            // carga de privateClaim (es parte del Payload)
            claims.setClaim("GeneXus", "Viglia");


            // Carga de Registered Claims
            options.AddRegisteredClaim("iss", "Martin");
            options.AddRegisteredClaim("sub", "Martin1");
            options.AddRegisteredClaim("aud", "martivigliadoocebbooyo.docebosaas.com");
            options.AddCustomTimeValidationClaim("iat", du.GetCurrentDate(), "20");
            options.AddCustomTimeValidationClaim("exp", du.CurrentPlusSeconds(3600), "20");
            options.AddPublicClaim("client_id", "Martin");

            token    = jwt.DoCreate("RS256", claims, options);
            expected = "{\"alg\":\"RS256\",\"typ\":\"JWT\"}";
        }
Пример #7
0
        public IActionResult Login([FromBody] CredentialDto credDto)
        {
            try
            {
                if (credDto == null)
                {
                    throw new BasicException("Wrong data syntax.");
                }
                if (!ModelState.IsValid)
                {
                    BadRequest(ModelState);
                }

                User user = _userRepository.GetAll().FirstOrDefault(x => x.EmailAddress.Equals(credDto.EmailAddress));
                if (user == null || !user.Password.Equals(GetHashedPaswd(credDto.Password)))
                {
                    return(Unauthorized());
                }

                var token = new JWTCreator()
                {
                    Audience        = _cfg["Tokens:Audience"],
                    Issuer          = _cfg["Tokens:Issuer"],
                    ExpiryInMinutes = expiryMinutes,
                    SecurityKey     = JwtSecurityKey.Create(_cfg["Tokens:Key"]),
                    Subject         = user.UserGUID
                }.AddClaim("EmailAddress", user.EmailAddress)
                .Build();

                DateTime curruntTime = DateTime.Now;
                _userJwtMapRepository.Delete(curruntTime);
                _userJwtMapRepository.Add(token.Value, user, curruntTime.AddMinutes(expiryMinutes));

                return(Ok(Json(new
                {
                    message = "success",
                    jwt = token.Value
                })));
            }
            catch (BasicException ex)
            {
                _logger.LogError(ex.Message);
                return(BadRequest(ex.Message));
            }
            catch (NotFoundException ex)
            {
                _logger.LogError(ex.Message);
                return(NotFound(ex.Message));
            }
            catch (PermissionException ex)
            {
                _logger.LogError(ex.Message);
                return(Unauthorized());
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
                return(BadRequest());
            }
        }
Пример #8
0
        public virtual void SetUp()
        {
            keyGenerator = new SymmetricKeyGenerator();
            jwt          = new JWTCreator();
            options      = new JWTOptions();
            claims       = new PrivateClaims();

            string hexaKey = keyGenerator.doGenerateKey("GENERICRANDOM", 256);

            options.SetSecret(hexaKey);

            claims.setClaim("hola1", "hola1");
        }
Пример #9
0
 public UserController(
     UserManager <ApplicationUser> userManager,
     IQuestionsRepository questionsRepository,
     IUserRepository userRepository,
     JWTCreator jwtCreator,
     ILogger <UserController> logger
     )
 {
     _userManager         = userManager;
     _questionsRepository = questionsRepository;
     _userRepository      = userRepository;
     _jwtCreator          = jwtCreator;
     _logger = logger;
 }
        public virtual void SetUp()
        {
            options = new JWTOptions();
            jwt     = new JWTCreator();
            claims  = new PrivateClaims();
            keyGen  = new SymmetricKeyGenerator();

            options.AddRegisteredClaim("iss", "GXSA");
            options.AddRegisteredClaim("sub", "subject1");
            options.AddRegisteredClaim("aud", "audience1");
            ID = "0696bb20-6223-4a1c-9ebf-e15c74387b9c, 0696bb20-6223-4a1c-9ebf-e15c74387b9c";            // &guid.Generate()
            options.AddRegisteredClaim("jti", ID);
            claims.setClaim("hola1", "hola1");
            claims.setClaim("hola2", "hola2");
        }
        public virtual void SetUp()
        {
            keyGenerator = new SymmetricKeyGenerator();
            jwt          = new JWTCreator();
            options      = new JWTOptions();
            claims       = new PrivateClaims();

            options.AddRegisteredClaim("iss", "GXSA");
            options.AddRegisteredClaim("sub", "subject1");
            options.AddRegisteredClaim("aud", "audience1");

            claims.setClaim("hola1", "hola1");
            claims.setClaim("hola2", "hola2");

            path_RSA_sha256_1024 = Path.Combine(BASE_PATH, "dummycerts", "RSA_sha256_1024");
        }
        public virtual void SetUp()
        {
            guid    = new GUID();
            jwt     = new JWTCreator();
            options = new JWTOptions();
            claims  = new PrivateClaims();

            options.AddRegisteredClaim("iss", "GXSA");
            options.AddRegisteredClaim("sub", "subject1");
            options.AddRegisteredClaim("aud", "audience1");

            options.AddRegisteredClaim("jti", guid.Generate());

            claims.setClaim("hola1", "hola1");
            claims.setClaim("hola2", "hola2");

            ECDSA_path = Path.Combine(BASE_PATH, "dummycerts", "JWT_ECDSA");
        }
        public virtual void SetUp()
        {
            jwt     = new JWTCreator();
            options = new JWTOptions();
            keyGen  = new SymmetricKeyGenerator();
            claims  = new PrivateClaims();

            options.AddCustomTimeValidationClaim("exp", "2020/07/20 17:56:51", "20");
            options.AddCustomTimeValidationClaim("iat", "2020/07/20 17:56:51", "20");
            options.AddCustomTimeValidationClaim("nbf", "2020/07/20 17:56:51", "20");
            claims.setClaim("hola1", "hola1");
            string hexaKey = keyGen.doGenerateKey("GENERICRANDOM", 256);

            options.SetSecret(hexaKey);
            string token = jwt.DoCreate("HS256", claims, options);

            payload = jwt.GetPayload(token);


            expected = "{\"hola1\":\"hola1\",\"exp\":1595267811,\"iat\":1595267811,\"nbf\":1595267811}";
        }
Пример #14
0
        public virtual void SetUp()
        {
            du           = new DateUtil();
            guid         = new GUID();
            keyGenerator = new SymmetricKeyGenerator();
            jwt          = new JWTCreator();
            options      = new JWTOptions();
            claims       = new PrivateClaims();

            options.AddRegisteredClaim("iss", "GXSA");
            options.AddRegisteredClaim("sub", "subject1");
            options.AddRegisteredClaim("aud", "audience1");

            options.AddRegisteredClaim("jti", guid.Generate());


            options.AddCustomTimeValidationClaim("iat", du.GetCurrentDate(), "20");
            options.AddCustomTimeValidationClaim("nbf", du.GetCurrentDate(), "20");

            claims.setClaim("hola1", "hola1");
            claims.setClaim("hola2", "hola2");
        }
        public virtual void SetUp()
        {
            jwt     = new JWTCreator();
            options = new JWTOptions();
            du      = new DateUtil();
            keyGen  = new SymmetricKeyGenerator();
            claims  = new PrivateClaims();



            hexaKey = keyGen.doGenerateKey("GENERICRANDOM", 256);

            options.AddRegisteredClaim("aud", "jitsi");
            options.AddRegisteredClaim("iss", "my_client");
            options.AddRegisteredClaim("sub", "meet.jit.si");


            claims.setClaim("hola", "hola");

            options.AddHeaderParameter("cty", "twilio-fpa;v=1");
            options.SetSecret(hexaKey);

            token = jwt.DoCreate("HS256", claims, options);
        }
 public virtual void SetUp()
 {
     token = "dummy";
     jwt   = new JWTCreator();
 }