SimpleSAML (Extra field from SimpleSAMLPHP)

Hello every one.

I am trying to implement the SimpleSAML plugin (https://elgg.org/plugins/1939508) on my elgg 2.3.2. As mentioned on the INSTALL.txt I installed SimpleSAMLPHP (with cas autentication) and everything seem to work perfectly. 

However I shoud return extra field from SimpleSAMLPHP (/config/authsources.php) and I dont know how to do it. 

Could someone help me ?

Best regard.

  • My guess is the plugin includes its own auth source class, and you'd have to alter it or write your own.

  • Yes the plugin (simplesamlphp) includes the auth source class....  Can you help me what am I suppose to do ??

  • So you have a CAS server which handles the authentication (IDP) and Elgg is setup to use that (SP), correct?

    If so, you need to process the CAS reponse to provide the fields so Elgg can use it. Have a look here https://simplesamlphp.org/docs/stable/simplesamlphp-authproc and in specific https://simplesamlphp.org/docs/stable/core:authproc_attributecopy

  • Thanks a lot.. I will have a look on it and let you know what's happen..

  • Hello Jerome Bakker.

     I have CAS server which handles the authentification (IDP) and Elgg is setup to use my SP. 

    Everything is working perfectly when I did a test through "test configured authentication sources"  (simplesamlphp local tes )  the user is authenticated and I get all the attributes that are attached to his session.

    After enabling your plugin on my elgg (2.3.2) and when I try to log to my elgg I am normally redirected to my cas-server. But after cas authentication I am still redirect to cas-login panel. And when I check my apache log file I have the fllowing entries/

    Session: 'eltia-cas' not valid because we are not authenticated.

    So I created another web application to use the same authentication source as my elgg website in order to kown the origin of the error.

    My web app has only and index.php with the following entries.

    <?php
      require_once('/var/simplesamlphp/lib/_autoload.php');
     
      $as = new SimpleSAML_Auth_Simple('eltia-cas');
      $as->requireAuth();
      $attributes = $as->getAttributes();
    ?>
    <html>
    <head><title>My First Service Provider in PHP</title></head>
    <body>
    <h1>My First SP</h1>
    <p>Hello world!</p>
     

    When I try to 
    <h2>Your attributes:</h2>
    <pre><?php print_r($attributes); ?></pre>
     
    </body></html>

    I when I try to use the this index.php I am normally redirected to my cas-server and after cas authentication evrything is working and my attributes are displayed.

    So I thing the problem comes either from your module or from elgg and I really dont know what's wrong and what to do.

    Mybe the problem comes from session and cookies. But I dont know.

    Please could you help me.