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
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")