Проверка подлинности на основе токенов (JWT) в knox для куста jdbc

Я установил аутентификацию на основе токенов в apache knox. Я могу сгенерировать токен с помощью следующей команды:

curl -ivku guest:guest-password https://localhost:8443/gateway/sandbox/knoxtoken/api/v1/token

Используя токен, я аутентифицируюсь с помощью команды curl:

curl -ivk -H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJndWVzdCIsImF1ZCI6InRva2VuYmFzZWQiLCJpc3MiOiJLTk9YU1NPIiwiZXhwIjoxNDg5OTQyMTg4fQ.bcqSK7zMnABEM_HVsm3oWNDrQ_ei7PcMI4AtZEERY9LaPo9dzugOg3PA5JH2BRF-lXM3tuEYuZPaZVf8PenzjtBbuQsCg9VVImuu2r1YNVJlcTQ7OV-eW50L6OTI0uZfyrFwX6C7jVhf7d7YR1NNxs4eVbXpS1TZ5fDIRSfU3MU" https://localhost:8443/gateway/tokenbased/webhdfs/v1/tmp?op=LISTSTATUS

Но я хочу аутентифицировать соединение hive jdbc. Как я могу добавить этот токен в hive jdbc url. Мой JDBC URL:

jdbc:hive2://localhost:8443/;ssl=true;sslTrustStore={path to gateway.jks};trustStorePassword={master-secret key};transportMode=http;httpPath=gateway/{cluster-name}/hive

1 ответ

Вы должны быть в состоянии передать cookie http с токеном JWT через JDBC, что-то вроде jdbc:hive2://knox_host:knox_port;transportMode=http;httpPath=<http_endpoint>;http.cookie.<cookie_name>=<cookie_value>

Имя файла cookie по умолчанию - "http.cookie.hadoop-jwt".

Другие вопросы по тегам