SimpleSAML as IdP – SAML


Step 1: Set Up SimpleSAML as Identity Provider

  • In config/config.php, make sure that 'enable.saml20-idp' is true. Example: ‘enable.saml20-idp’ => true
  • In metadata/saml20-idp-hosted.php, configure SimpleSAML as an Identity Provider by adding code below:
    $metadata['__DYNAMIC:1__'] = array(
        'host' => '__DEFAULT__',
        /* X.509 key and certificate. Relative to the cert directory.*/
        'privatekey' => '<YOUR_PRIVATE_KEY_FILE_NAME>',
        //eg. RSA_Private_Key.pem 'certificate' => '<YOUR_PUBLIC_KEY_FILE_NAME>',
        //eg. RSA_Public_Key.cer
        /* Authentication source to use. Configured in 'config/authsources.php'. */
        'auth' => '<YOUR_AUTH_SOURCE_NAME>',
    );

  • In metadata/saml20-sp-remote.php, register your Servider Provider like this:
    /* Replace example.com with your atlassian domain name. */
    $metadata['https://example.com/plugins/servlet/saml/metadata'] = array(
        'AssertionConsumerService' => 'https://example.com/',
        'SingleLogoutService'      => 'https://example.com/',
        'NameIDFormat' => 'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress',
        'simplesaml.nameidattribute' => 'mail',
        'simplesaml.attributes'      => true, 
        'attributes' => array('mail', 'givenname', 'sn', 'memberOf'),
    );