* Damir Gainulin <
damir.k....@gmail.com> [2016-07-05 14:42]:
> I have installation of simplesaml with one SP and a few IdPs, and wonder if
> there's any chance to set preferable IdP for users automatically, according
> to domain or account mask (i.e. some kind of regular expression) instead of
> make users do choice at first logon?
In addition to what Jaime said: The IDP discovery interface should be
able to remember previous choices, so selecting an IDP should be as
easy as clicking "OK" (or hitting return) once.
Some IDP discovery services also have a feature to allow the subject
to set a long-lived HTTP Cookie that tells the IDP discovery service
what IDP they selected, and to NOT ask them anymore in the future.
E.g. the SWITCHwayf can do that
https://www.switch.ch/aai/support/tools/wayf/
But sending the subject to an IDP automatically, i.e., based on some
automatism or algorithm, with no interaction/choice, is not generally
recommended. E.g. I could be a guest at, say, an Norwegian institution
but when accessing a service I'd still want/need to use my credentials
from an Austrian institution. Obviously the specifics will vary
depending on your deployment.
A standardised way to try to guess what IDP a subject is likely to
want to use is recording IP ranges, DNS domain names and/or
geo-location coordinates in SAML Metadata for each IDP.
Cf.
https://wiki.oasis-open.org/security/SAML2MetadataUI
An IDP discovery service could then *suggest* or pre-select an IDP
based on the client's IP address, an associated domain name (via PTR
lookup from the connecting IP address) or the browser's HTML5
geolocation (if allowed by the browser).
For just "a few IDPs" that's probably overkill, unless the software
you're using already supports that. Then it makes sense to just
provide the addition al data in SAML Metadata and have the IDP
discovery service suggest/pre-select what maybe is the desired IDP.
-peter