If (number-of-accepted-IdPs is less than TBD1) then
{
Display all of them as a set of icons
} else if (number-of-accepted-IdPs is less than thanTBD2TBD2) then
{
Display all of them by name in a vertical list
} else
{
// there is either a large (i.e. more than TBD2) fixed set of acceptable IdPs
// or there is an unknowably sized set of acceptable IdPs (e.g. the RP supports WebFinger)
If (RP supports WebFinger AND RP supports a fixed set of acceptable IdPs) then
{
Display a text entry widget whose label says
"type an email address OR the name of an identity provider"
} else if (RP supports a fixed set of acceptable IdPs) then
{
Display a text entry widget whose label says "find your identity provider"
} else if (RP supports WebFinger) then
{
Display a text entry widget whose label says "type an email address"
}
}
|