mirror of
https://github.com/apache/impala.git
synced 2025-12-19 18:12:08 -05:00
This patch added JWT support with following functionality: * Load and parse JWKS from pre-installed JSON file. * Read the JWT token from the HTTP Header. * Verify the JWT's signature with public key in JWKS. * Get the username out of the payload of JWT token. * Support following JSON Web Algorithms (JWA): HS256, HS384, HS512, RS256, RS384, RS512. We use third party library jwt-cpp to verify JWT token. jwt-cpp is a headers only C++ library. It was added to native-toolchain. This patch modified bootstrap_toolchain.py to download jwt-cpp from toolchain s3 bucket, and modified makefiles to add jwt-cpp/include in the include path. Added BE unit-tests for loading JWKS file and verifying JWT token. Also added FE custom cluster test for JWT authentication. Testing: - Passed core run. Change-Id: I6b71fa854c9ddc8ca882878853395e1eb866143c Reviewed-on: http://gerrit.cloudera.org:8080/17435 Reviewed-by: Joe McDonnell <joemcdonnell@cloudera.com> Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
1.4 KiB
1.4 KiB