Exemple #1
0
    def validSignature(self, jwt):

        print "Passport. validSignature. Checking JWT token signature"
        valid = False

        try:
            appConfiguration = AppConfiguration()
            appConfiguration.setWebKeysStorage(WebKeyStorage.KEYSTORE)
            appConfiguration.setKeyStoreFile(self.keyStoreFile)
            appConfiguration.setKeyStoreSecret(self.keyStorePassword)

            cryptoProvider = CryptoProviderFactory.getCryptoProvider(appConfiguration)
            valid = cryptoProvider.verifySignature(jwt.getSigningInput(), jwt.getEncodedSignature(), jwt.getHeader().getKeyId(),
                                                        None, None, jwt.getHeader().getAlgorithm())
        except:
            print "Exception: ", sys.exc_info()[1]

        print "Passport. validSignature. Validation result was %s" % valid
        return valid
Exemple #2
0
            return logged_in
        else:
            facesContext = CdiUtil.bean(FacesContext)

            # Get JWT token if it's post back call
            jwt_param = ServerUtil.getFirstValue(requestParameters, "user")
            if StringHelper.isEmpty(jwt_param):
                print "Passport-social: Authenticate for step 1. JWT token is missing"
                return False

            # Parse JWT token
            jwt = Jwt.parse(jwt_param)

            # Validate signature
            print "Passport-social: Authenticate for step 1. Checking JWT token signature: '%s'" % jwt
            appConfiguration = AppConfiguration()
            appConfiguration.setWebKeysStorage(WebKeyStorage.KEYSTORE)
            appConfiguration.setKeyStoreFile(self.keyStoreFile)
            appConfiguration.setKeyStoreSecret(self.keyStorePassword)

            cryptoProvider = CryptoProviderFactory.getCryptoProvider(appConfiguration)
            valid = cryptoProvider.verifySignature(jwt.getSigningInput(), jwt.getEncodedSignature(), jwt.getHeader().getKeyId(),
                                                        None, None, jwt.getHeader().getAlgorithm())
            print "Passport-social: Authenticate for step 1. JWT signature validation result: '%s'" % valid
            if not valid:
                print "Passport-social: Authenticate for step 1. JWT signature validation failed"
                return False

            # Check if there is user profile
            jwt_claims = jwt.getClaims()
            user_profile_json = jwt_claims.getClaimAsString("data")