【问题标题】:Apache Zeppelin configured for OIDC redirects to http://localhost:8081/null为 OIDC 配置的 Apache Zeppelin 重定向到 http://localhost:8081/null
【发布时间】:2021-04-22 23:53:14
【问题描述】:

我已尝试使用 Apache Zeppelin 0.8 和 0.9 + pac4j,但问题是一样的。在 http://localhost:8081/ 访问应用程序根目录时,我被重定向到 http://localhost:8081/null。 log4j 不会输出任何可能有帮助的东西。

这是我的 shiro.ini 文件:

[main]
sessionManager = org.apache.shiro.web.session.mgt.DefaultWebSessionManager
securityManager.sessionManager = $sessionManager
securityManager.sessionManager.globalSessionTimeout = 86400000

oidcConfig = org.pac4j.oidc.config.OidcConfiguration
oidcConfig.discoveryURI = http://localhost:8080/auth/realms/Test/.well-known/openid-configuration
oidcConfig.clientId = Zeppelin
oidcConfig.secret = e15b220e-9b3c-4997-9a76-81086e3e1ca3
oidcConfig.clientAuthenticationMethodAsString = client_secret_basic
oidcClient = org.pac4j.oidc.client.OidcClient
oidcClient.configuration = $oidcConfig


clients = org.pac4j.core.client.Clients
clients.callbackUrl = http://localhost:8081/api/callback
clients.clients = $oidcClient

requireRoleAdmin = org.pac4j.core.authorization.authorizer.RequireAnyRoleAuthorizer

config = org.pac4j.core.config.Config
config.clients = $clients

pac4jRealm = io.buji.pac4j.realm.Pac4jRealm
pac4jSubjectFactory = io.buji.pac4j.subject.Pac4jSubjectFactory
securityManager.subjectFactory = $pac4jSubjectFactory

oidcSecurityFilter = io.buji.pac4j.filter.SecurityFilter
oidcSecurityFilter.config = $config
oidcSecurityFilter.clients = oidcClient


callbackFilter = io.buji.pac4j.filter.CallbackFilter
callbackFilter.defaultUrl = http://localhost:8081
callbackFilter.config = $config

[urls]
/api/version = anon
/api/callback = callbackFilter
/** = oidcSecurityFilter

【问题讨论】:

    标签: apache-zeppelin pac4j


    【解决方案1】:

    添加解析器将有助于重定向到正确的 oidc 路径

    ajaxRequestResolver = org.pac4j.core.http.ajax.DefaultAjaxRequestResolver
    ajaxRequestResolver.addRedirectionUrlAsHeader = true
    oidcClient.ajaxRequestResolver = $ajaxRequestResolver
    

    【讨论】:

      【解决方案2】:

      我相信这是其中一个库中的错误。您可以尝试使用底层依赖项的特定版本。这是帮助我解决null 问题的组合:

      https://repo1.maven.org/maven2/org/apache/commons/commons-collections4/4.4/commons-collections4-4.4.jar
      https://repo1.maven.org/maven2/com/nimbusds/lang-tag/1.5/lang-tag-1.5.jar
      https://repo1.maven.org/maven2/net/minidev/json-smart/2.4.7/json-smart-2.4.7.jar
      https://repo1.maven.org/maven2/com/nimbusds/oauth2-oidc-sdk/9.9/oauth2-oidc-sdk-9.9.jar
      https://repo1.maven.org/maven2/com/nimbusds/content-type/2.1/content-type-2.1.jar
      https://repo1.maven.org/maven2/javax/mail/mail/1.4.7/mail-1.4.7.jar
      https://repo1.maven.org/maven2/io/buji/buji-pac4j/5.0.1/buji-pac4j-5.0.1.jar
      https://repo1.maven.org/maven2/org/pac4j/pac4j-core/4.0.3/pac4j-core-4.0.3.jar
      https://repo1.maven.org/maven2/org/pac4j/pac4j-oidc/4.0.3/pac4j-oidc-4.0.3.jar
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-09-11
        • 1970-01-01
        • 2018-01-21
        • 2015-01-11
        • 1970-01-01
        • 2019-01-18
        • 2017-10-23
        相关资源
        最近更新 更多