/** * * Test token based authentication over kerberos Login as super user and retrieve the token for * normal user use the token to connect connect as normal user * * @throws Exception */ @Test public void testTokenAuth() throws Exception { miniHiveKdc.loginUser(MiniHiveKdc.HIVE_TEST_SUPER_USER); hs2Conn = DriverManager.getConnection(miniHS2.getJdbcURL()); // retrieve token and store in the cache String token = ((HiveConnection) hs2Conn) .getDelegationToken(MiniHiveKdc.HIVE_TEST_USER_1, MiniHiveKdc.HIVE_SERVICE_PRINCIPAL); assertTrue(token != null && !token.isEmpty()); hs2Conn.close(); UserGroupInformation ugi = miniHiveKdc.loginUser(MiniHiveKdc.HIVE_TEST_USER_1); // Store token in the cache storeToken(token, ugi); hs2Conn = DriverManager.getConnection(miniHS2.getBaseJdbcURL() + "default;auth=delegationToken"); verifyProperty(SESSION_USER_NAME, MiniHiveKdc.HIVE_TEST_USER_1); }