我正在尝试添加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可以帮助这里请。请让我知道,如果你需要任何更多的信息。
1条答案
按热度按时间zz2j4svz1#
终于让它工作了:
使用
-set-xauthrequest = true
,或者如果要传递环境变量,则传递:这将通过X-Auth-请求-电子邮件X-Auth-请求-用户传递
这里多谢回答:https://github.com/oauth2-proxy/oauth2-proxy/issues/197#issuecomment-540158057