From Fedora Project Wiki

No edit summary
No edit summary
Line 40: Line 40:


# On the IDP launch firefox and authenticate to the IDP as the admin user, https://idp.example.com/idp/
# On the IDP launch firefox and authenticate to the IDP as the admin user, https://idp.example.com/idp/
# Click on ''Administration''.
# Select Identity Providers -> SAML2 -> Manage -> Add New
# Fill in the ''Name'' field.  The name you give the SP isn't important.
# Fill in the ''Name'' field.  The name you give the SP isn't important.
# Select Identity Providers -> SAML2 -> Manage -> Add New
# Paste the SP metadata you previously obtained into the ''Metadata Text'' field on the form.
# Paste the SP metadata you previously obtained into the ''Metadata Text'' field on the form.
# Click the ''Save'' button.
# Click the ''Save'' button.


Configure Apache to tell the browser to never cache the contents of /sp:
Enable and restart Apache on the SP
 
# Edit /etc/httpd/conf.d/ipsilon-saml.conf
# Find the Location section for /sp
# Add Header append Cache-Control "no-cache"
 
It should look like:
 
<Location /sp>
    Header append Cache-Control "no-cache"
    MellonEnable "auth"
</Location>
 
Restart Apache on the SP


# systemctl enable httpd.service
  # systemctl restart httpd.service
  # systemctl restart httpd.service



Revision as of 03:09, 12 March 2015

Description

Service Provider Installation testing.

Setup

  1. For testing purposes, a machine (or VM) with 1GB of RAM and 4 GB of free disk space for binaries, data and logs should be plenty.
  2. The machine needs to be enrolled as an IPA client.

How to test

Installation

First, install the IPA-client packages:

# dnf install freeipa-client

If you installed IPA with DNS then configure /etc/resolv.conf to point to it

nameserver xx.xx.xx.xx

Enroll the machine against your IPA master

# ipa-client-install

If you are using the IPA DNS server then it should discover the IPA master and prompt you for credentials to enroll. Use admin and the admin password selected during IPA install.

Install the Ipsilon packages:

# dnf install ipsilon-tools ipsilon-saml2

Configure the SP:

# ipsilon-client-install --saml-idp-metadata https://idp.example.com/idp/saml2/metadata --saml-auth /sp

The metadata will be downloaded from your IDP and since the IDP is on our IPA master, we use that hostname.

Get the metadata from the SP (the path may need to be adjusted to match the hostname of your SP):

# cat /etc/httpd/saml2/sp.example.com/metadata.xml

Add the SP to the IDP:

  1. On the IDP launch firefox and authenticate to the IDP as the admin user, https://idp.example.com/idp/
  2. Click on Administration.
  3. Select Identity Providers -> SAML2 -> Manage -> Add New
  4. Fill in the Name field. The name you give the SP isn't important.
  5. Paste the SP metadata you previously obtained into the Metadata Text field on the form.
  6. Click the Save button.

Enable and restart Apache on the SP

# systemctl enable httpd.service
# systemctl restart httpd.service

Create Content

The installer automatically configures Apache to protect /sp/ so all we need to do is create the directory and add some content.

Create the secure directory and add some content

# mkdir /var/www/html/sp

Create /var/www/html/sp/index.html with these contents:

<html>
<p>
Congratulations, you're authenticated!
</p>
<p>
<a href="/saml2/logout?ReturnTo=https://sp.example.com/logged_out.html">Log out</a>
</p>
</html>

Create /var/www/html/logged_out.html (note that this isn't in the sp directory) with these contents:

<html>
<title>Logout</title>
<p>
You've been logged out!
</p>
<p>
Now try to <a href="/sp/">log back in</a>
</p>
</html>

We'll verify that everything is working in the next test case.

Configure Firewall

We need to enable port 443 in the firewall:

# firewall-cmd --permanent --add-port=443/tcp
# firewall-cmd --permanent --add-port=80/tcp
# systemctl restart firewalld

Expected Results

All the test steps should end with the specified results.