[Idpy-discuss] thiss.io select as alias support

Scott Koranda skoranda at gmail.com
Tue Sep 24 21:24:09 UTC 2019


> > So, has thiss.io been developed and/or used with pyff's select as alias in 
> > mind and, will pyff allow the alias on the /api/search endpoint? Maybe Scott 
> > made it work as he needs select as in some of his deployments?
> 
> Still working on it...
> 
> What I can tell you is that if my pipeline has this
> 
> - select as ligo_approved:
>     - "https://login.ligo.org/idp/shibboleth"
>     - "https://shibbi.pki.itc.u-tokyo.ac.jp/idp/shibboleth"
>     - "https://orcid-saml-gateway.gw-astronomy.org/idp"
> 
> Then I can do a query like this:
> 
> curl -H 'Accept: application/json' http://127.0.0.1:8080/entities/ligo_approved?query=kagra | python -m json.tool
> 
> and "find" the KAGRA IdP (second in the list above).
> 
> So my hope is that I can create from a thiss-js repository clone a second
> discovery service that has/uses a SEARCH_URL that points to
> 
> http://127.0.0.1:8080/entities/ligo_approved
> 
> and thereby deliver a second discovery service with the limited set of IdPs.
> 
> Note that the URL
> 
> http://127.0.0.1:8080/entities/ligo_approved?query=kagra
> 
> is NOT using the search API calls. It is processed using the full pipeline
> mechanism. So it is slightly slower, but that is not a problem for my use
> case.
> 
> I don't know if Leif will extend pyFF so that the search API calls will
> respect the alias.

So using the alias almost works...

The problem is that the JSON payloads returned from the API call and the
JSON returned from the alias/pipeline call are different.

The API call returns 

[
   {
      "title":"KAGRA",
      "descr":"KAGRA Large-scale Cryogenic Gravitational Wave Telescope Project",
      "entity_id":"https://shibbi.pki.itc.u-tokyo.ac.jp/idp/shibboleth",
      "entityID":"https://shibbi.pki.itc.u-tokyo.ac.jp/idp/shibboleth",
      "domains":"pki.itc.u-tokyo.ac.jp;itc.u-tokyo.ac.jp;u-tokyo.ac.jp;ac.jp",
      "id":"{sha1}c24878218fd7873becb1ef44c68b513c69d168e5",
      "scopes":"shibbi.pki.itc.u-tokyo.ac.jp",
      "matched":"KAGRA",
      "ddist":0
   }
]

The alias/pipeline call returns

[
   {
      "title":"KAGRA",
      "descr":"KAGRA Large-scale Cryogenic Gravitational Wave Telescope Project",
      "auth":"saml",
      "entityID":"https://shibbi.pki.itc.u-tokyo.ac.jp/idp/shibboleth",
      "type":"idp",
      "hidden":"false",
      "scope":"shibbi.pki.itc.u-tokyo.ac.jp",
      "domain":"shibbi.pki.itc.u-tokyo.ac.jp",
      "name_tag":"SHIBBI",
      "entity_icon_url":{
         "url":"https://shibbi.pki.itc.u-tokyo.ac.jp/SAML2/metadata/ui/KAGRA-logo-60x80.png",
         "width":"80",
         "height":"60"
      }
   }
]

The thiss-js code is looking in the payload for key 'entity_id', not
'entityID'.

Leif is this a limitation of thiss-js, or a bug in pyFF, or ?

Thanks,

Scott K


More information about the Idpy-discuss mailing list