You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

The DSX Discovery Service is recommended to be used in embedded fashion because this is generally more user-friendly as the organisation selection is integrated directly into the service's web page. For this to work, the authentication needs to be triggered from a page where an included Javascript provides the functionality to show the embedded Discovery Service. On this page examples for Shibboleth SP and SimpleSAMLphp are provided.

Shibboleth SP

In this example we first configure the DSX Discovery Service to be used by the default Shibboleth login handler.

file:/etc/shibboleth/shibboleth2.xml
<SSO
    discoveryProtocol="SAMLDS" 
    discoveryURL="https://dsx.edugain.org/wayf.php">
    SAML2 SAML1 
</SSO>

To use the discovery service as embedded version, include the following Javascript in the head element if the web page triggering the authentication:

Including javascript
<head>
    <!-- HTML elements -->
    <script type="text/javascript" src="https://dsx.edugain.org/ds.js"></script>
    <!-- HTML elements -->
</head>

and then display the element itself that triggers the authentication as defined in default handler.

Login element
<a href="/Shibboleth.sso/Login" onclick="startOverlay(event)">Log in</a>

As a result the discovery service is shown as embedded version directly on the embedding web page.

SimpleSAMLphp

In this example we first set DSX discovery to be used by default sp configuration.

authsources.php
'default-sp' => array(
    'saml:SP',
    'entityID' => 'https://sp.example.com/simplesaml/',
    'idp' => NULL,
    'discoURL' => 'https://dsx.edugain.org/wayf.php',
    'privatekey' => 'example.key'
),

To use the discovery service as embedded version include the following Javascript in  head element on the page triggering the authentication,

Including javascript
<head>
    <!-- HTML elements -->
    <script type="text/javascript" src="https://dsx.edugain.org/ds.js"></script>
    <!-- HTML elements -->
</head>

and then display an element triggering the authentication.

Login element
<a href="/simplesaml/module.php/core/authenticate.php" onclick="startOverlay(event)">Log in</a>
  • No labels