With a number of digital platforms such as web and mobile, user profiles are also stored across multiple systems including systems owned by other parties that provide ancillary services. For example, the web channel provides the ability to purchase products and services however shipping is an ancillary service.
In this example, the user would purchase a product and login/register with our site. These details are held in our database.
At the end of the transaction the user is provided the ability to ship using an ancillary service provided by a third party. They login/register with the third party and the third-party stores all their details.
There is a requirement now to provide "single sign on" i.e. the ability to either use the credentials created on our site or the ones created with the ancillary services and vice versa as well as the ability to bring along identities from services such as Google, Facebook, etc.
There doesn't appear to be an easy way to achieve this without having to pass around credentials in a secure manner and the ability to exchange these with the likes of Google, Facebook, etc is unlikely i.e. for the user to login to Google with the credentials created on our site.
Is there a sensible way to approach this problem? What are the pros and cons?
EDIT
The post by APICrazy seems to be palatable although this would require the third-party provider to integrate with an authentication broker and provide us as one of the identity providers.
Would there be a way overcome this i.e. not have the third-party make any changes but still accept credentials from our identity store?