JIRA6免插件单点登录
单点登录SSO
# 说明
本文介绍JIRA6如何实现免插件进行SAML认证集成。
7.0以上版本的JIRA和Confluence自带SSO2.0配置,请参考 JIRA & Confluence单点登录配置
SSO插件配置,请参考JIRA & Confluence的SAML插件认证
# 认证配置
# JIRA 配置
将 customauth-jira-6.1.2.jar放到 WEB-INF下的lib包。
将 jira_onelogin.xml 放到bin目录和bin上级目录。
查看xml内容,获取参数信息。
参数配置如下:
参数 参数说明 certificate IDaaS中IDP证书 assertion(断言消费地址) http://jira地址/secure/Dashboard.jspa
https://jira地址/secure/Dashboard.jspaissuer 同上即可 ssotarget IDaaS中IDP配置中的SSO URL 下载IDaaS的IDP元数据请访问 https://{your_domain}/api/v1/saml2/idp/metadata。
修改classes 目录下的seraph-config.xml 文件,新增如下内容:
<authenticator class="com.onelogin.jira.saml.SSOAuthenticator"/>
1修改secure\views目录下dashboard.jsp,新增如下内容:
if(request.getSession().getAttribute("os_destination") != null){ String os_destination = request.getSession().getAttribute("os_destination").toString(); request.getSession().setAttribute("os_destination",null); response.sendRedirect(os_destination); }
1
2
3
4
5修改include 目录下的loginform.jsp,新增如下内容:
<%@ page import= "com.onelogin.jira.saml.SSOAuthenticator" %> if(request.getParameter("SAMLResponse") == null) { String redirectURL = request.getSession().getAttribute("reqString").toString(); response.sendRedirect(redirectURL); }else{ if(jiraAuthenticationContext.getLoggedInUser() != null) { if(request.getSession().getAttribute("os_destination") != null) { String os_destination = request.getSession().getAttribute("os_destination").toString(); response.sendRedirect(os_destination); }else{ response.sendRedirect("/"); } } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# IDaaS配置
添加内置应用JIRA。
配置应用参数。
参数 参数说明 SP Entity ID Jira基础访问地址(此地址在jira_onelogin.xml中assertion中获取) ACS URL 基础访问地址(此地址在jira_onelogin.xml中assertion中获取) Audience URI 基础访问地址(此地址在jira_onelogin.xml中assertion中获取) NameID Format 选择 urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified Name ID 账号名 在内置应用中,选择JIRA图标,选择【授权管理】--》添加账号。
此处应用账号名需和JIRA中的Username一致。
# 登录验证
配置saml认证后JIRA的用户名密码登录入口将失效。