PicketLink Federation User Guide 1.0.0



Similar documents
Keycloak SAML Client Adapter Reference Guide

Spring Security SAML module

Crawl Proxy Installation and Configuration Guide

Configuring BEA WebLogic Server for Web Authentication with SAS 9.2 Web Applications

How to Enable Quartz Job Execution Log Interception In Applications. J u n e 26,

Configuring Integrated Windows Authentication for JBoss with SAS 9.2 Web Applications

1 How to install CQ5 with an Application Server

Configuring Integrated Windows Authentication for JBoss with SAS 9.3 Web Applications

Technical White Paper - JBoss Security

Integrating Apex into Federated Environment using SAML 2.0. Jon Tupman Portalsoft Solutions Ltd

TypingMaster Intra. LDAP / Active Directory Installation. Technical White Paper (2009-9)

Project Management (PM) Cell

Web Application Architecture (based J2EE 1.4 Tutorial)

Securing a Web Service

PingFederate. Salesforce Connector. Quick Connection Guide. Version 4.1

Egnyte Single Sign-On (SSO) Installation for OneLogin

How to create a SP and a IDP which are visible across tenant space via Config files in IS

CTSU SSO (Java) Installation and Integration Guide

Step-by-Step guide for SSO from MS Sharepoint 2010 to SAP EP 7.0x

SSO Plugin. HP Service Request Catalog. J System Solutions. Version 3.6

Perceptive Experience Single Sign-On Solutions

Implementation Guide SAP NetWeaver Identity Management Identity Provider

The JBoss 4 Application Server Web Developer Reference

OpenSSO: Cross Domain Single Sign On

Add Microsoft Azure as the Federated Authenticator in WSO2 Identity Server

Microsoft Office 365 Using SAML Integration Guide

SAML-Based SSO Solution

JOSSO 2.4. Internet Information Server (IIS) Tutorial

This chapter describes how to use the Junos Pulse Secure Access Service in a SAML single sign-on deployment. It includes the following sections:

Universal Event Monitor for SOA Reference Guide

SAML Single-Sign-On (SSO)

WebNow Single Sign-On Solutions

SAML v1.1 for.net Developer Guide

Configuring Integrated Windows Authentication for Oracle WebLogic with SAS 9.2 Web Applications

For details about using automatic user provisioning with Salesforce, see Configuring user provisioning for Salesforce.

SAML Security Option White Paper

SAML Authentication Quick Start Guide

Agenda. How to configure

SAML Authentication within Secret Server

Configuring Salesforce

Supplement IV.E: Tutorial for Tomcat. For Introduction to Java Programming By Y. Daniel Liang

Copyright: WhosOnLocation Limited

CONFIGURATION GUIDE WITH MICROSOFT ACTIVE DIRECTORY FEDERATION SERVER

CORISECIO. Quick Installation Guide Open XML Gateway

SAP NetWeaver AS Java

This section includes troubleshooting topics about single sign-on (SSO) issues.

Integrating EJBCA and OpenSSO

Configuring ADFS 3.0 to Communicate with WhosOnLocation SAML

SSO Plugin. Case study: Integrating with Ping Federate. J System Solutions. Version 4.0

T his feature is add-on service available to Enterprise accounts.

Use Enterprise SSO as the Credential Server for Protected Sites

Using SAML for Single Sign-On in the SOA Software Platform

Egnyte Single Sign-On (SSO) Configuration for Active Directory Federation Services (ADFS)

Identity Server Guide Access Manager 4.0

C-Series How to configure SSL

Kerberos and Windows SSO Guide Jahia EE v6.1

Configuring the JBoss Application Server for Secure Sockets Layer and Client-Certificate Authentication on SAS 9.3 Enterprise BI Server Web

Dell One Identity Cloud Access Manager How to Configure for SSO to SAP NetWeaver using SAML 2.0

How To Use Saml 2.0 Single Sign On With Qualysguard

Configuring Single Sign-on from the VMware Identity Manager Service to WebEx

Java Web Programming. Student Workbook

Tenrox. Single Sign-On (SSO) Setup Guide. January, Tenrox. All rights reserved.

PingFederate. Windows Live Cloud Identity Connector. User Guide. Version 1.0

Contents at a Glance. 1 Introduction Basic Principles of IT Security Authentication and Authorization in

CA Performance Center

Configuring IBM WebSphere Application Server 7.0 for Web Authentication with SAS 9.3 Web Applications

CA Nimsoft Service Desk

Symplified I: Windows User Identity. Matthew McNew and Lex Hubbard

Configuring Single Sign-on from the VMware Identity Manager Service to ServiceNow

HOTPin Integration Guide: Salesforce SSO with Active Directory Federated Services

To set up Egnyte so employees can log in using SSO, follow the steps below to configure VMware Horizon and Egnyte to work with each other.

PingFederate. Identity Menu Builder. User Guide. Version 1.0

Single Sign-On Implementation Guide

UPGRADING TO XI 3.1 SP6 AND SINGLE SIGN ON. Chad Watson Sr. Business Intelligence Developer

Oracle WebLogic Server 11g Administration

Progress OpenEdge REST

How To Configure The Jasig Casa Single Sign On On A Workstation On Ahtml.Org On A Server On A Microsoft Server On An Ubuntu (Windows) On A Linux Computer On A Raspberry V

SOLR INSTALLATION & CONFIGURATION GUIDE FOR USE IN THE NTER SYSTEM

i2b2 Installation Guide

Copyright 2014 Jaspersoft Corporation. All rights reserved. Printed in the U.S.A. Jaspersoft, the Jaspersoft

New Single Sign-on Options for IBM Lotus Notes & Domino IBM Corporation

Enabling SSL and Client Certificates on the SAP J2EE Engine

An Advanced Fallback Authentication Framework for SAS 9.4 and SAS Visual Analytics

Installation Guide for contineo

Apache Roller, Acegi Security and Single Sign-on

SAML and OAUTH comparison

PingFederate. IWA Integration Kit. User Guide. Version 2.6

Single Sign-On Implementation Guide

IBM WebSphere Application Server

Single Sign-On Implementation Guide

TABLE OF CONTENTS I. INTRODUCTION... 1

Access Gateway Guide Access Manager 4.0 SP1

IBM Tivoli Federated Identity Manager V6.2.2 Implementation. Version: Demo. Page <<1/10>>

Using weblock s Servlet Filters for Application-Level Security

Flexible Identity Federation

CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS

Configuring Single Sign-on from the VMware Identity Manager Service to AirWatch Applications

Web Services Security: OpenSSO and Access Management for SOA. Sang Shin Java Technology Evangelist Sun Microsystems, Inc. javapassion.

Authentication Methods

Single Sign On (SSO) Implementation Manual. For Connect 5 & MyConnect Sites

Transcription:

PicketLink Federation User Guide 1.0.0 by Anil Saldhana

What this Book Covers... v I. Getting Started... 1 1. Introduction... 3 2. Installation... 5 II. Simple Usage... 7 3. Web Single Sign On (SSO)... 9 3.1. SAML v2 based Web SSO using HTTP/Redirect Binding... 9 3.1.1. Configuring the Identity Provider (IDP)... 10 3.1.2. Configure the Service Provider (SP)... 13 3.2. SAML v2 based Web SSO using HTTP/POST Binding... 17 III. Advanced Usage (Trust Management)... 19 4. Web SSO - XML Signature Support... 21 4.1. Configuring the Identity Provider... 21 4.1.1. Configure the IDP Web Application Security... 21 4.1.2. Configure the IDP Valves... 21 4.1.3. Configure the PicketLink Federation configuration file (picketlinkidfed.xml)... 22 4.2. Configure the Service Provider (SP)... 23 4.2.1. Configure the SP Web Application Security... 23 4.2.2. Configure the SP Valves... 23 4.2.3. Configure the PicketLink Federation configuration file (picketlinkidfed.xml)... 24 4.2.4. Configure the PicketLink Federation handlers file (picketlinkhandlers.xml)... 25 5. Web SSO (XML Encryption Support)... 27 5.1. Web SSO (XML Encryption Support)... 27 IV. SAMLv2 Based Global Logout... 29 6. Global Logout... 31 V. Troubleshooting... 33 7. Logging... 35 7.1. Configuring Logging... 35 7.1.1. Configuring Logging on Apache Tomcat... 35 7.1.2. Configuring logging in JBoss... 37 VI. Resources... 39 8. Resources on the Web... 41 iii

iv

What this Book Covers This book aims to help you become familiar with PicketLink Federation in order that you can use it to build your own Federated Identity based services or applications. Part I 'Getting Started' introduces the federated identity technologies that are provided in this product. It also indicates the libraries required for the installation. Part II 'Simple Usage' describes SAML v2 Web Browser based Single Sign On (SSO). Part III 'Advanced Usage' describes SAML v2 Web Browser based SSO with advanced features such as Trust Management and XML Digital Signatures. Part IV 'Trouble Shooting' describes some basic troubleshooting tips when things do not work the way they were intended. Part V 'Resources' provides additional resources. v

vi

Part I. Getting Started

Chapter 1. Introduction PicketLink Federation allows you to implement SAML v2.0 based services and applications. It also has support for Oasis WS-Trust based applications. With PicketLink Federation, you have the following features. SAML v2 Web Browser SSO Support for JavaEE Web Container. SAML v2 Web Browser SSO (HTTP/Redirect Binding) Support for JBoss Application Server and Apache Tomcat. SAML v2 Web Browser SSO (HTTP/Redirect Binding) Support for JBoss Application Server and Apache Tomcat with XML Signature Support. SAML v2 Web Browser SSO (HTTP/POST Binding) Support for JBoss Application Server and Apache Tomcat. SAML v2 Web Browser SSO (HTTP/POST Binding) Support for JBoss Application Server and Apache Tomcat with XML Signature Support. SAML v2 Global LogOut. 3

4

Chapter 2. Installation PicketLink Federation requires the following libraries to be either downloaded separately or as part of the Java JDK or as part of JBoss Application Server. Download the ZIP version of the PicketLink for either JBoss AS or Tomcat. Place the unzipped jar files in the lib directory of tomcat or JBoss AS. Additionally ensure that the following dependencies are met. JAXB V2 Library STAX API Library (a dependency for JAXB2) Activation API Library (a dependency for JAXB2) Location for downloading the jars PicketLink - JBoss Maven Repository [http://repository.jboss.org/maven2/org/ picketlink] 5

6

Part II. Simple Usage

Chapter 3. Web Single Sign On (SSO) In this chapter, we will look at usage of PicketLink Federation to help you obtain a platform to implement federated identity based services (including centralized identity services and Single Sign-On (SSO) for applications). 3.1. SAML v2 based Web SSO using HTTP/Redirect Binding This section will talk about the configuration information to support the SAML V2.0 based Web Single Sign On (SSO). The SAML profile has support for both the HTTP/POST and the HTTP/ Redirect bindings with centralized identity services to enable web SSO for your applications. Hub and Spoke Architecture for the SAML v2 based Web SSO The architecture follows the Hub and Spoke architecture of Identity Management. An Identity Provider (IDP) acts as the central source (hub) for identity and role information to all the applications (Service Providers/SP). The spokes are the Service Providers (SP). 9

Chapter 3. Web Single Sign On... Note The IDP and the SP can be a JBoss Application Server or a Tomcat instance. Please note that the instructions for Tomcat and JBAS have slight differences. 3.1.1. Configuring the Identity Provider (IDP) Check list for configuring the IDP 1. The IDP as a secure web application. 2. Configure the web.xml to either allow FORM or BASIC authentication. 3. Configure the context.xml for IDP valves. 4. Configure the picketlink-idfed.xml for IDP configuration. 5. Configure the picketlink-handlers.xml for IDP configuration. The IDP can be a JBoss Application Server or a Tomcat instance. You need to configure a web application as the Identity provider. 3.1.1.1. Configure the web application security for the IDP The web application needs to have FORM or BASIC based security enabled in its web.xml. We recommend the use of FORM based web application security as it gives you the ability to customize the login page. The web.xml needs to have a configuration such as the following: <?xml version="1.0" encoding="iso-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ web-app_2_5.xsd" version="2.5"> <display-name>idp</display-name> <description>idp</description> <!-- Define a security constraint that gives unlimited access to images --> <security-constraint> 10

Configuring the Identity Provider (IDP) <web-resource-collection> <web-resource-name>images</web-resource-name> <url-pattern>/images/*</url-pattern> </web-resource-collection> </security-constraint> <!-- Define a Security Constraint on this Application --> <security-constraint> <web-resource-collection> <web-resource-name>idp</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>manager</role-name> </auth-constraint> </security-constraint> <!-- Define the Login Configuration for this Application --> <login-config> <auth-method>form</auth-method> <realm-name>idp Application</realm-name> <form-login-config> <form-login-page>/jsp/login.jsp</form-login-page> <form-error-page>/jsp/loginerror.jsp</form-error-page> </form-login-config> </login-config> <!-- Security roles referenced by this web application --> <security-role> <description> The role that is required to log in to the IDP Application </description> <role-name>manager</role-name> </security-role> </web-app> Note Remember to configure the realm or login modules for your IDP as per the Tomcat or JBoss AS documentation on "securing your web application". 11

Chapter 3. Web Single Sign On... Tomcat Realm [http://tomcat.apache.org/tomcat-6.0-doc/realm-howto.html] and JBoss AS Security [http://jboss.org/community/docs/doc-10760] 3.1.1.2. Configure the IDP Valves Create a context.xml file for configuring the valves for the IDP. The context.xml file should look like: <Context> <Valve classname="org.picketlink.identity.federation.bindings.tomcat.idp.idpwebbrowserssovalve" /> </Context> Note If the IDP is running in Apache Tomcat, then place the context.xml in META-INF of your IDP web application. Note If the IDP is running in JBoss Application Server, then place the context.xml in WEB-INF of your IDP web application. 3.1.1.3. Configure the PicketLink Federation configuration file (picketlink-idfed.xml) Configure picketlink-idfed.xml in WEB-INF of your IDP web application <PicketLinkIDP xmlns="urn:picketlink:identity-federation:config:1.0" > <IdentityURL>http://localhost:8080/idp/</IdentityURL> </PicketLinkIDP> 12

Configure the Service Provider (SP) In this configuration file, you are providing the URL of your IDP. This is the URL that gets added as the issuer in the outgoing SAML2 assertions to the Service Providers. 3.1.1.4. Configure the PicketLink Federation Handlers file (picketlink-handlers.xml) Configure picketlink-handlers.xml in WEB-INF of your IDP web application <Handlers xmlns="urn:picketlink:identity-federation:handler:config:1.0"> <Handler class="org.picketlink.identity.federation.web.handlers.saml2.saml2issuertrusthandler"/> <Handler class="org.picketlink.identity.federation.web.handlers.saml2.saml2logouthandler"/> <Handler class="org.picketlink.identity.federation.web.handlers.saml2.saml2authenticationhandler"/> <Handler class="org.picketlink.identity.federation.web.handlers.saml2.rolesgenerationhandler"/> </Handlers> Note the order of the handlers is important. 3.1.2. Configure the Service Provider (SP) Check List for configuring the Service Provider. 1. Configure the SP as a secure FORM authentication based web application. 2. Configure the web.xml of the SP web application. 3. Configure the context.xml for the SP valves. 4. Configure the picketlink-idfed.xml for the SP configuration. 5. Configure the picketlink-handlers.xml for the SP configuration. 6. Perform additional steps if the SP is running on JBoss Application Server. The SP can be a JBoss Application Server or a Tomcat instance. You need to configure a web application as the Service Provider(SP). 3.1.2.1. Configure the web application security for the SP The web application needs to have FORM based security enabled in its web.xml. 13

Chapter 3. Web Single Sign On... The web.xml needs to have a configuration such as the following: <?xml version="1.0" encoding="iso-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ web-app_2_5.xsd" version="2.5"> <display-name>test SALES Application</display-name> <description> Just a Test SP </description> <!-- Define a Security Constraint on this Application --> <security-constraint> <web-resource-collection> <web-resource-name>sales Application</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>manager</role-name> </auth-constraint> </security-constraint> <!-- Define a security constraint that gives unlimted access to freezone --> <security-constraint> <web-resource-collection> <web-resource-name>freezone</web-resource-name> <url-pattern>/freezone/*</url-pattern> </web-resource-collection> </security-constraint> <!-- Define the Login Configuration for this Application --> <login-config> <auth-method>form</auth-method> <realm-name>tomcat SALES Application</realm-name> <form-login-config> <form-login-page>/jsp/login.jsp</form-login-page> <form-error-page>/jsp/loginerror.jsp</form-error-page> </form-login-config> </login-config> 14

Configure the Service Provider (SP) <!-- Security roles referenced by this web application --> <security-role> <description> The role that is required to log in to the SP Application </description> <role-name>manager</role-name> </security-role> </web-app> Warning The SP web application should be configured with FORM based authentication. 3.1.2.2. Configure the SP Valves Create a context.xml file for configuring the valves for the SP. The context.xml file should look like: <Context> <Valve /> </Context> Note If the SP is running in Apache Tomcat, then place the context.xml in META-INF of your SP web application. 15

Chapter 3. Web Single Sign On... Note If the SP is running in JBoss Application Server, then place the context.xml in WEB-INF of your SP web application. 3.1.2.3. Configure the PicketLink Federation configuration file (picketlink-idfed.xml) Configure picketlink-idfed.xml in WEB-INF of your SP web application <PicketLinkSP xmlns="urn:picketlink:identity-federation:config:1.0"> <IdentityURL>http://localhost:8080/idp</IdentityURL> <ServiceURL>http://localhost:8080/sales</ServiceURL> </PicketLinkSP> In this configuration file, we define the URLs for the service provider and the identity provider. 3.1.2.4. Configure the PicketLink Federation Handlers file (picketlink-handlers.xml) Configure picketlink-handlers.xml in WEB-INF of your SP web application. <Handlers xmlns="urn:picketlink:identity-federation:handler:config:1.0"> <Handler class="org.picketlink.identity.federation.web.handlers.saml2.saml2logouthandler"/> <Handler class="org.picketlink.identity.federation.web.handlers.saml2.saml2authenticationhandler"/> </Handlers> 3.1.2.5. Additional Steps for JBoss AS based SP Configure a jboss-web.xml file in the WEB-INF directory of your SP web application. 16

SAML v2 based Web SSO using HTTP/POST Binding <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 2.4//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_4_0.dtd"> <jboss-web> <security-domain>java:/jaas/sp</security-domain> </jboss-web> Note In this example, we have specified a security domain of "sp". You can use any security domain name of your choice as long as you configure the login module in the next step appropriately. Configure the login module in conf/login-config.xml of your JBoss AS server configuration. <application-policy name = "sp"> <authentication> <login-module code = "org.picketlink.identity.federation.bindings.jboss.auth.saml2loginmodule" /> </authentication> </application-policy> 3.2. SAML v2 based Web SSO using HTTP/POST Binding In the previous section, we looked at the HTTP/Redirect Binding for obtaining web browser based SSO. If you would like to utilize the HTTP/POST binding which is the recommended binding, then configure the IDP as in the HTTP/Redirect binding. The configuration at the SP is identical to the HTTP/Redirect Binding except that the context.xml at the SP looks as follows (change in the valve class): The context.xml file should look like: 17

Chapter 3. Web Single Sign On... <Context> <Valve classname="org.picketlink.identity.federation.bindings.tomcat.sp.sppostformauthenticator" /> </Context> Warning Remember for the HTTP/POST Binding, the IDP configuration is exactly the same as the HTTP/Redirect Binding. For the SP Configuration, there is a change in context.xml only. The rest is the same as HTTP/Redirect binding. 18

Part III. Advanced Usage (Trust Management)

Chapter 4. Web SSO - XML Signature Support In this chapter, we describe the configuration for Web SSO with XML Signature Support. 4.1. Configuring the Identity Provider The IDP needs to be configured to provide Web SSO with XML Signature Support. Check list for configuring the IDP 1. Configure the IDP as a secure web application. 2. Configure the web.xml to either allow FORM or BASIC authentication. 3. Configure the context.xml for IDP valves. 4. Configure the picketlink-idfed.xml for IDP configuration. 4.1.1. Configure the IDP Web Application Security Configure the web application security for IDP Follow the web.xml security configuration for the IDP from the previous section "Simple Usage". 4.1.2. Configure the IDP Valves Create a context.xml file for configuring the valves for the IDP. The context.xml file should look like: <Context> <Valve classname ="org.picketlink.identity.federation.bindings.tomcat.idp.idpredirectwithsignaturevalve" /> </Context> 21

Chapter 4. Web SSO - XML Sign... Note If the IDP is running in Apache Tomcat, then place the context.xml in META-INF of your IDP web application. Note If the IDP is running in JBoss Application Server, then place the context.xml in WEB-INF of your IDP web application. 4.1.3. Configure the PicketLink Federation configuration file (picketlink-idfed.xml) Configure picketlink-idfed.xml in WEB-INF of your IDP web application <PicketLinkIDP xmlns="urn:picketlink:identity-federation:config:1.0" > <IdentityURL>http://localhost:8080/idp-sig</IdentityURL> <Trust> <Domains>localhost,jboss.com,jboss.org</Domains> </Trust> <KeyProvider ClassName="org.picketlink.identity.federation.bindings.tomcat.KeyStoreKeyManager"> <Auth Key="KeyStoreURL" Value="jbid_test_keystore.jks" /> <Auth Key="KeyStorePass" Value="store123" /> <Auth Key="SigningKeyPass" Value="test123" /> <Auth Key="SigningKeyAlias" Value="servercert" /> <ValidatingAlias Key="localhost" Value="servercert"/> <ValidatingAlias Key="127.0.0.1" Value="servercert"/> </KeyProvider> </PicketLinkIDP> In this configuration file, you are providing the URL of your IDP. This is the URL that gets added as the issuer in the outgoing SAML2 assertions to the Service Providers. Additionally, you can configure the Trust element to indicate which domains the IDP trusts. You can configure a TrustKeyManager implementation for the Signing (Private) Key and the Validating (Public) Key information. In this example, we have used the KeyStoreKeyManager that stores the keys in a Java KeyStore. The Auth element define the key value pair needed to 22

Configure the Service Provider (SP) authenticate against the TrustKeyManager implementation. The ValidatingAlias is a map of the domains that need to be validated against an alias where the public key of the domains are stored. 4.2. Configure the Service Provider (SP) Check List for configuring the Service Provider. 1. Configure the SP as a secure FORM authentication based web application. 2. Configure the web.xml of the SP web application. 3. Configure the context.xml for the SP valves. 4. Configure the picketlink-idfed.xml for the SP configuration. 5. Configure the picketlink-handlers.xml for the SP configuration. The SP can be a JBoss Application Server or a Tomcat instance. You need to configure a web application as the Service Provider(SP). 4.2.1. Configure the SP Web Application Security Configure the web application security for SP Follow the web.xml security configuration for the SP from the previous section "Simple Usage". 4.2.2. Configure the SP Valves Create a context.xml file for configuring the valves for the SP. The context.xml file should look like: <Context> <Valve classname= "org.picketlink.identity.federation.bindings.tomcat.sp.spredirectsignatureformauthenticator" /> </Context> 23

Chapter 4. Web SSO - XML Sign... Note If the SP is running in Apache Tomcat, then place the context.xml in META-INF of your SP web application. Note If the SP is running in JBoss Application Server, then place the context.xml in WEB-INF of your SP web application. 4.2.3. Configure the PicketLink Federation configuration file (picketlink-idfed.xml) Configure picketlink-idfed.xml in WEB-INF of your SP web application. <PicketLinkIDP xmlns="urn:picketlink:identity-federation:config:1.0" > <IdentityURL>http://localhost:8080/idp-sig</IdentityURL> <Trust> <Domains>localhost,jboss.com,jboss.org</Domains> </Trust> <KeyProvider ClassName="org.picketlink.identity.federation.bindings.tomcat.KeyStoreKeyManager"> <Auth Key="KeyStoreURL" Value="jbid_test_keystore.jks" /> <Auth Key="KeyStorePass" Value="store123" /> <Auth Key="SigningKeyPass" Value="test123" /> <Auth Key="SigningKeyAlias" Value="servercert" /> <ValidatingAlias Key="localhost" Value="servercert"/> <ValidatingAlias Key="127.0.0.1" Value="servercert"/> </KeyProvider> </PicketLinkIDP> In this configuration file, we define the URLs for the service provider and the identity provider. Additionally, you can configure the Trust element to indicate which domains the SP trusts. You can configure a TrustKeyManager implementation for the Signing (Private) Key and the Validating (Public) Key information. In this example, we have used the KeyStoreKeyManager 24

Configure the PicketLink Federation handlers file (picketlink-handlers.xml) that stores the keys in a Java KeyStore. The Auth element define the key value pair needed to authenticate against the TrustKeyManager implementation. The ValidatingAlias is a map of the domains that need to be validated against an alias where the public key of the domains are stored. 4.2.4. Configure the PicketLink Federation handlers file (picketlink-handlers.xml) Configure picketlink-handlers.xml in WEB-INF of your SP web application Please refer to the previous chapter for the handlers file. 25

26

Chapter 5. Web SSO (XML Encryption Support) 5.1. Web SSO (XML Encryption Support) 27

28

Part IV. SAMLv2 Based Global Logout

Chapter 6. Global Logout Two things yield the Global Logout for your enterprise web applications. The SAML2LogOutHandler should be present in the picketlink-handlers.xml. The link in your web page at the service provider (SP) should have a "GLO=true" appended to the end. Example: <a href="?glo=true">click to Globally LogOut</a> 31

32

Part V. Troubleshooting

Chapter 7. Logging 7.1. Configuring Logging PicketLink Federation uses Apache log4j as the logging framework. 7.1.1. Configuring Logging on Apache Tomcat Log4J jars and xml file Add a log4j.jar (from the Apache log4j Distribution) into the lib directory of tomcat 6.x or server/lib of tomcat 5.5.x Also add a log4j.xml as shown below to the lib directory. <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <!-- ===================================================================== --> <!-- --> <!-- Log4j Configuration --> <!-- --> <!-- ===================================================================== --> <!-- For more configuration information and examples see the Jakarta Log4j owebsite: http://jakarta.apache.org/log4j --> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false"> <!-- ================================= --> <!-- Preserve messages in a local file --> <!-- ================================= --> <!-- A time/date based rolling appender --> <appender name="file" class="org.apache.log4j.dailyrollingfileappender"> <param name="file" value="../logs/server.log"/> <param name="append" value="false"/> 35

Chapter 7. Logging <!-- Set the threshold via a system property. Note this is parsed by log4j, so the full JBoss system property format is not supported; e.g. setting a default via ${jboss.server.log.threshold:warn} will not work. --> <param name="threshold" value="trace"/> <!-- Rollover at midnight each day --> <param name="datepattern" value="'.'yyyy-mm-dd"/> <!-- Rollover at the top of each hour <param name="datepattern" value="'.'yyyy-mm-dd-hh"/> --> <layout class="org.apache.log4j.patternlayout"> <!-- The default pattern: Date Priority [Category] (Thread) Message\n --> <param name="conversionpattern" value="%d %-5p [%c] (%t) %m%n"/> <!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n <param name="conversionpattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/> --> </layout> </appender> <!-- ============================== --> <!-- Append messages to the console --> <!-- ============================== --> <appender name="console" class="org.apache.log4j.consoleappender"> <param name="target" value="system.out"/> <param name="threshold" value="info"/> <layout class="org.apache.log4j.patternlayout"> <!-- The default pattern: Date Priority [Category] Message\n --> <param name="conversionpattern" value="%d{absolute} %-5p [%c{1}] %m%n"/> </layout> </appender> <!-- ================ --> <!-- Limit categories --> <!-- ================ --> <!-- Limit the org.apache category to INFO as its DEBUG is verbose --> <category name="org.apache"> 36

Configuring logging in JBoss <priority value="trace"/> </category> <category name="org.jboss"> <priority value="trace"/> </category> <!-- Setup the Root category --> <!-- ======================= --> <root> <appender-ref ref="console"/> <appender-ref ref="file"/> </root> </log4j:configuration> Location of the generated log file The generated log file will be server.log in the logs directory. 7.1.2. Configuring logging in JBoss You can configure log4j in the conf directory of your JBoss server (default, all etc) Tip Please refer to JBoss AS documentation on logging. 37

38

Part VI. Resources

Chapter 8. Resources on the Web PicketLink Project Page [http://www.jboss.org/picketlink] JBoss Identity User Forum [http://www.jboss.org/index.html?module=bb&op=viewforum&f=305] JBoss Identity Design Forum [http://www.jboss.com/index.html?module=bb&c=32] 41

42