JIRA6 免插件SAML认证集成

7/7/2020 单点登录SSO

# 说明

本文介绍JIRA6如何实现免插件进行SAML认证集成。

7.0以上版本的JIRA和Confluence自带SSO2.0配置,请参考 JIRA & Confluence配置单点登录

SSO插件配置,请参考Confluence 、Jira的SAML插件认证

# 认证配置

# JIRA 配置

参数配置

参数 参数说明
certificate IDaaS中IDP证书
assertion(断言消费地址) http(s)😕/jira地址/secure/Dashboard.jspa
issuer 同上即可
ssotarget IDaaS中IDP配置中的SSO URL

获取IDaaS的IDP元数据方式

  • 4.修改classes 目录下的seraph-config.xml 文件;

在xml文件中新增:

<authenticator class="com.onelogin.jira.saml.SSOAuthenticator"/>
1

  • 5.修改secure\views目录下dashboard.jsp;

在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

  • 6.修改include 目录下的loginform.jsp;

在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配置

  • 1.添加内置应用JIRA;

  • 2.配置应用参数;

参数 参数说明
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 账号名
  • 3.账号授权 在内置应用中,选择JIRA图标,选择【授权管理】--》添加账号

此处应用账号名需和JIRA中的Username一致。

# 登录验证

配置saml认证后JIRA的用户名密码登录入口将失效。

Last Updated: 1/6/2022, 11:00:14 AM