oauth-2.0 从oauth2-proxy获取opengrok中的用户名

ccgok5k5  于 2022-10-31  发布在  其他
关注(0)|答案(1)|浏览(195)

我正在尝试添加oauth2-proxy来保护我的opengrok示例。我正在遵循这里提到的文档:https://developer.okta.com/blog/2022/07/14/add-auth-to-any-app-with-oauth2-proxy
我docker-compose.yaml文件如下所示:https://pastebin.com/raw/WkGqgiB3
我能够使用我的公司sso(Oauth2身份验证)进行验证和身份验证,但无法弄清楚如何将用户名传递给opengrok UI。
我试着编辑根/pageheader.jspf文件,添加下面的代码,但不工作:

--%><%@page import="org.opengrok.web.PageConfig"%>
<%
/* ---------------------- pageheader.jspf start --------------------- */
{
    PageConfig cfg = PageConfig.get(request);
%>
<%= cfg.getEnv().getIncludeFiles().getHeaderIncludeFileContent(false) %>

<div class="logout">
  <span id="logout">
    Welcome, <%=request.getRemoteUser()%>! | <a href="/source/logout.jsp">Logout</a>
  </span>
</div>

<%
}
/* ---------------------- pageheader.jspf end --------------------- */
%>

但是getRemoteUser()返回null。我还尝试获取不同的头,例如:
<%=request.getHeader("X-Forwarded-Email")%>等,但都返回空值。
我只是这个应用程序的管理员,没有太多的java/ jsp经验,所以不能详细确定到底是什么出了问题。
任何Opengrok或Oauth2Maven可以帮助这里请。请让我知道,如果你需要任何更多的信息。

zz2j4svz

zz2j4svz1#

终于让它工作了:
使用-set-xauthrequest = true,或者如果要传递环境变量,则传递:

OAUTH2_PROXY_SET_XAUTHREQUEST = true

这将通过X-Auth-请求-电子邮件X-Auth-请求-用户传递
这里多谢回答:https://github.com/oauth2-proxy/oauth2-proxy/issues/197#issuecomment-540158057

相关问题