Beispiel #1
0
        public void TestInitialize()
        {
            var repository = new MemberRespoitory();
            var validator  = new SecurityTokenValidator();

            TestTarget = new AdaptParameter
                         .Version001.ControlAccessService(repository, validator);
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            var repository = new MemberRespoitory();
            var validator  = new SecurityTokenValidator();
            var device     = new ControlAccessReaderDevice();

            var service = new ControlAccessService(repository, validator);

            var isAuthorized = service.IsAuthorized(
                new ControlAccessReaderDeviceAdpater(device));

            Console.WriteLine(isAuthorized);
            Console.ReadKey();
        }
        public bool IsValidIdToken(IAuthTokens authTokens, string idToken)
        {
            var jwtToken = new JwtSecurityToken(idToken);

            var idAuthTokens = authTokens as IdentityServerAuthTokens;

            if (idAuthTokens != null)
            {
                var nonce = jwtToken.Claims.FirstOrDefault(x => x.Type == JwtClaimTypes.Nonce);
                if (nonce != null && nonce.Value != idAuthTokens.Nonce)
                {
                    Log.Error("Nonce in id_token does not match the nonce created for the login request - potential replay attack");
                    return(false);
                }
            }

            SecurityToken validatedToken = null;

            try
            {
                SecurityTokenValidator.ValidateToken(idToken, tokenValidationParameters, out validatedToken);
            }
            catch (Exception exception)
            {
                Log.Error("Error validating JWT token", exception);
                return(false);
            }

            if (validatedToken == null)
            {
                Log.Error("Unable to validate id_token");
                return(false);
            }

            var jwt = validatedToken as JwtSecurityToken;

            if (jwt == null)
            {
                Log.Error("id_token is not a valid jwt token");
                return(false);
            }

            return(true);
        }
Beispiel #4
0
 public ControlAccessService(MemberRespoitory memberRepoRespoitory,
                             SecurityTokenValidator securityTokenValidator)
 {
     MemberRepoRespoitory   = memberRepoRespoitory;
     SecurityTokenValidator = securityTokenValidator;
 }