newbie on EDS, form shows empty select list

Woolf, Carl Carl_Woolf at hms.harvard.edu
Mon Mar 14 14:35:48 UTC 2022


Thanks Alex,

Do not think I am using MDQ, but just the metadata.
I added / renamed some of my ‘constants’ in my config, to reflect my (evolving) understanding of when I advert to SP and when to IdP in them. Below is my latest / greatest version of the config:

Cheers, - Carl
// see https://shibboleth.atlassian.net/wiki/spaces/EDS10/overview?homepageId=2383446015 ,
//   especially 'Configuration'


/** @class IdP Selector UI */
function IdPSelectUIParms() {
    this.DEVS_SP_LOCAL_HOST="https://localhost:55443/Shibboleth";
    this.DEVS_SP_LOCAL_HOST_RE="^https:\/\/localhost:55443\/Shibboleth.*$";
    this.DEVS_IDP_LOCAL_HOST= "https://localhost:4443/Shibboleth.sso/Login";
    this.DEVS_IDP_LOCAL_HOST_RE="^https:\/\/localhost:4443\/Shibboleth\.sso\/Login.*$";
    //
    // Adjust the following to fit into your local configuration
    //
    this.alwaysShow = true;          // If true, this will show results as soon as you start typing
    this.dataSource = '/Shibboleth.sso/DiscoFeed';   // Where to get the data from
    this.defaultLanguage = 'en';     // Language to use if the browser local doesnt have a bundle
    this.defaultLogo = 'blank.gif';  // Replace with your own logo
    this.defaultLogoWidth = 1;
    this.defaultLogoHeight = 1;
    this.defaultReturn = null; //this.DEVS_IDP_LOCAL_HOST + ".sso/DS?SAMLDS=1&target=https://localhost:443/shrineFrontMain";       // If non null, then the default place to send users who are not
                                     // Approaching via the Discovery Protocol for example
    //this.defaultReturn = "https://example.org/Shibboleth.sso/DS?SAMLDS=1&target=https://example.org/secure";
    this.defaultReturnIDParam = null; //"entityID";
    this.returnWhiteList = [this.DEVS_SP_LOCAL_HOST_RE];
/*
    this.defaultReturnIDParam = null;
    this.returnWhiteList = [ "^https:\/\/example\.org\/Shibboleth\.sso\/Login.*$" , "^https:\/\/example\.com\/Shibboleth\.sso\/Login.*$" ];
*/
    this.helpURL = 'https://wiki.shibboleth.net/confluence/display/SHIB2/DSRoadmap';
    this.ie6Hack = null;             // An array of structures to disable when drawing the pull down (needed to
                                     // handle the ie6 z axis problem
    this.insertAtDiv = 'idpSelect';  // The div where we will insert the data
    this.maxResults = 10;            // How many results to show at once or the number at which to
                                     // start showing if alwaysShow is false
    this.myEntityID = this.DEVS_SP_LOCAL_HOST;          // If non null then this string must match the string provided in the DS parms
    this.preferredIdP = [this.DEVS_IDP_LOCAL_HOST, this.DEVS_IDP_LOCAL_HOST];        // Array of entityIds to always show
    this.hiddenIdPs = null;          // Array of entityIds to delete
    this.ignoreKeywords = false;     // Do we ignore the <mdui:Keywords/> when looking for candidates
    this.showListFirst = true;      // Do we start with a list of IdPs or just the dropdown
    this.samlIdPCookieTTL = 730;     // in days
    this.setFocusTextBox = true;     // Set to false to supress focus
    this.testGUI = false;

    this.autoFollowCookie = null;  //  If you want auto-dispatch, set this to the cookie name to use
    this.autoFollowCookieTTLs = [1, 60, 270]; // Cookie life (in days).  Changing this requires changes to idp_select_languages

    //
    // Language support.
    //
    // The minified source provides "en", "de", "pt-br" and "jp".
    //
    // Override any of these below, or provide your own language
    //
    //this.langBundles = {
    //'en': {
    //    'fatal.divMissing': '<div> specified  as "insertAtDiv" could not be located in the HTML',
    //    'fatal.noXMLHttpRequest': 'Browser does not support XMLHttpRequest, unable to load IdP selection data',
    //    'fatal.wrongProtocol' : 'Policy supplied to DS was not "urn:oasis:names:tc:SAML:profiles:SSO:idpdiscovery-protocol:single"',
    //    'fatal.wrongEntityId' : 'entityId supplied by SP did not match configuration',
    //    'fatal.noData' : 'Metadata download returned no data',
    //    'fatal.loadFailed': 'Failed to download metadata from ',
    //    'fatal.noparms' : 'No parameters to discovery session and no defaultReturn parameter configured',
    //    'fatal.noReturnURL' : "No URL return parameter provided",
    //    'fatal.badProtocol' : "Return request must start with https:// or http://",
    //    'idpPreferred.label': 'Use a suggested selection:',
    //    'idpEntry.label': 'Or enter your organization\'s name',
    //    'idpEntry.NoPreferred.label': 'Enter your organization\'s name',
    //    'idpList.label': 'Or select your organization from the list below',
    //    'idpList.NoPreferred.label': 'Select your organization from the list below',
   //    'idpList.defaultOptionLabel': 'Please select your organization...',
    //    'idpList.showList' : 'Allow me to pick from a list',
    //    'idpList.showSearch' : 'Allow me to specify the site',
    //    'submitButton.label': 'Continue',
    //    'helpText': 'Help',
    //    'defaultLogoAlt' : 'DefaultLogo'
    //}
    //};

    //
    // The following should not be changed without changes to the css.  Consider them as mandatory defaults
    //
    this.maxPreferredIdPs = 3;
    this.maxIdPCharsButton = 33;
    this.maxIdPCharsDropDown = 58;
    this.maxIdPCharsAltTxt = 60;

    this.minWidth = 20;
    this.minHeight = 20;
    this.maxWidth = 115;
    this.maxHeight = 69;
    this.bestRatio = Math.log(80 / 60);
}


From: users <users-bounces at shibboleth.net> on behalf of Alex Stuart via users <users at shibboleth.net>
Date: Monday, March 14, 2022 at 5:19 AM
To: Shib Users <users at shibboleth.net>
Cc: Alex Stuart <Alex.Stuart at jisc.ac.uk>
Subject: Re: newbie on EDS, form shows empty select list


> On 12 Mar 2022, at 16:16, Woolf, Carl <Carl_Woolf at hms.harvard.edu> wrote:
>
> ….Shibboleth.sso/DiscoFeed results in a page with empty square brackets. Should I be expecting a (unit-) list of endpoints?

Is your SP using MDQ to consume metadata?

As Rod said, yes you should obtain a list of IdPs' entityIDs, DisplayNames etc. in JSON format from the DiscoFeed endpoint. As I understand it, the SP generates this list from the metadata it currently knows about. So if your SP is consuming a metadata aggregate, it'll be able to generate a full list; but if the SP is using MDQ then it won't have the metadata to build a discovery feed.

—
Alex Stuart (he/him)
Technical Development Manager (Trust and Identity)
alex.stuart at jisc.ac.uk






-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://shibboleth.net/pipermail/users/attachments/20220314/af1d8560/attachment.htm>


More information about the users mailing list