Ejemplo n.º 1
0
        public TokenResponse ConvertSamlToJwt(SecurityToken securityToken, string scope)
        {
            var subject = ValidateSamlToken(securityToken);

            var descriptor = new SecurityTokenDescriptor
            {
                Subject            = subject,
                AppliesToAddress   = scope,
                SigningCredentials = new X509SigningCredentials(_configuration.Keys.SigningCertificate),
                TokenIssuerName    = _configuration.Global.IssuerUri,
                Lifetime           = new Lifetime(DateTime.UtcNow, DateTime.UtcNow.AddMinutes(_configuration.AdfsIntegration.AuthenticationTokenLifetime))
            };

            var jwtHandler = new JWTSecurityTokenHandler();
            var jwt        = jwtHandler.CreateToken(descriptor);

            return(new TokenResponse
            {
                AccessToken = jwtHandler.WriteToken(jwt),
                ExpiresIn = _configuration.AdfsIntegration.AuthenticationTokenLifetime
            });
        }
        public TokenResponse ConvertSamlToJwt(SecurityToken securityToken, string scope)
        {
            var subject = ValidateSamlToken(securityToken);

            var descriptor = new SecurityTokenDescriptor
            {
                Subject = subject,
                AppliesToAddress = scope,
                SigningCredentials = new X509SigningCredentials(_configuration.Keys.SigningCertificate),
                TokenIssuerName = _configuration.Global.IssuerUri,
                Lifetime = new Lifetime(DateTime.UtcNow, DateTime.UtcNow.AddMinutes(_configuration.AdfsIntegration.AuthenticationTokenLifetime))
            };

            var jwtHandler = new JWTSecurityTokenHandler();
            var jwt = jwtHandler.CreateToken(descriptor);

            return new TokenResponse
            {
                AccessToken = jwtHandler.WriteToken(jwt),
                ExpiresIn = _configuration.AdfsIntegration.AuthenticationTokenLifetime
            };
        }