Getting Started

Welcome to the cookbook! This project’s goal is to create a community-driven repository of example code and documentation for programmers who are new to SAML or looking for a reference implementation for a specific language.

The examples demonstrate minimum viable products with a focus on simplicity and include:

  1. Sending an AuthnRequest to the IdP

  2. Processing a Response from the IdP

  3. Extracting and Displaying Attributes

  4. Generating Metadata


SAML is a deep topic with a wealth of well-written, exhaustive documentation. This cookbook distils what you need to get started and tries to leave out additional information. For a deeper understanding of SAML, consider reading one of the following.

Running the Examples

The examples requires docker and docker-compose to run. You can download these by following instructions from the official Docker website.

After dependencies have been installed, navigate to the ./saml-cookbook/docker folder in a terminal and run the following command.

# Get a coffee, this is going to take a while
docker-compose build && docker-compose up

You can now view the example at https://saml-cookbook.localtest.me/. If you’re having issues verify that the command completed without errors and that localhost:443 is forwarding traffic to your docker containers.

All the code can be found at ./saml-cookbook/docker/<example>/.

Next Steps

If your build was successful, you’ll have a site reachable at https://saml-cookbook.localtest.me/. The examples here are fully functional, but not descriptive. For recipies and additional documentation browse the examples.