Following is a complete flow that shows a user's journey in two service providers. The scenario includes the following main steps:

  1. A user is visiting the web page of a service provider sp1.com. The service provider assigns a wayf-local ID for this visitor, and adds the WAYF Widget in the returning page
  2. The service provider at sp1.com uses the REST API of the WAYF Cloud to Register/Create this wayf-local ID to the WAYF Cloud.
  3. The WAYF Widget is executed at the user's web browser, resulting to the assignment of a wayf-global ID to this device. Also an association between sp1's wayf-local and the wayf-global id is created
  4. The user selects an identity provider at sp1.com.
  5. The user's selection at step 3, is shared by the service provider WAYF Cloud using the REST API.
  6. The same user, using the same device, visits another service provider, sp2.com. As in step 1, sp2 assigns a wayf-local ID for this visitor adds the WAYF Widget in the returning page
  7. The WAYF Widget is executed again at the user's web browser, resulting to an association between sp2's wayf-local and the wayf-global id
  8. The service provider at sp2.com uses the REST API of the WAYF Cloud to discover the user's past selection of identity provider

The service provider at sp2.com can now offer the user the option to Sign In with the same Identity Provider used at sp1.com, without having to ask the user to manually select it,

2148