You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kylin.apache.org by "Temple Zhou (JIRA)" <ji...@apache.org> on 2018/08/09 06:36:00 UTC

[jira] [Commented] (KYLIN-3474) Tableau 10.5 get malformed token (multi-query instance)

    [ https://issues.apache.org/jira/browse/KYLIN-3474?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16574354#comment-16574354 ] 

Temple Zhou commented on KYLIN-3474:
------------------------------------

[~albertoramon]

I'm sorry, I can't find a solution except annotating the above lines. As even I conf the session persistence in the LB (Nginx Session Sticky), the problem still exists.

> Tableau 10.5 get malformed token (multi-query instance)
> -------------------------------------------------------
>
>                 Key: KYLIN-3474
>                 URL: https://issues.apache.org/jira/browse/KYLIN-3474
>             Project: Kylin
>          Issue Type: Bug
>          Components: Query Engine, Security
>    Affects Versions: v2.4.0
>            Reporter: Temple Zhou
>            Priority: Major
>
> I found that when I use Tableau 10.5 with Kylin 2.4.0(multi-query) , the Tableau Server will get theĀ malformed token error when do query via restful API.
> However, when I use Tableau 10.5 with Kylin 2.4.0(single query instance), the error will be gone.
> Now, I just annotate the following lines(org.apache.kylin.rest.security.KylinAuthenticationProvider 84-87) and the Tableau 10.5 can run regularly with Kylin 2.4.0(multi-query).
> {code:java}
>  @Override
>     public Authentication authenticate(Authentication authentication) throws AuthenticationException {
>         byte[] hashKey = hf.hashString(authentication.getName() + authentication.getCredentials()).asBytes();
>         String userKey = Arrays.toString(hashKey);
>         // if (userService.isEvictCacheFlag()) {
>         //     userCache.invalidateAll();
>         //     userService.setEvictCacheFlag(false);
>         // }
>         Authentication authed = userCache.getIfPresent(userKey);
>         if (null != authed) {
>             SecurityContextHolder.getContext().setAuthentication(authed);
>         } else {
> {code}
> I don't know if you tested the Kylin(multi-query) Cluster Mode with Tableau?



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)