Integrating Social Identity Providers
In today’s fast moving retail industry most companies have their own authentication and registration systems that are not yet mobile aware. They also try to integrate their legacy systems with social networks such as Facebook or Twitter due to the rich marketing opportunities that they can provide.
Mobile app users demand simple registration procedures which automatically synchronise data across all of their devices. Gone are the days of application loyalty, and the only applications which will survive are those which provide simplistic and swift on-boarding journeys, coupled with ease of use across all devices.
How to connect legacy systems to multiple social identity providers and be able to uniquely identify the user irrespective of their chosen provider.
One of the most versatile, and scalable solutions, is the exciting service offered from Amazon - AWS Cognito.
AWS Cognito provides three core services:
- User Pools
Add scalable sign-up and sign-in functionality to your mobile application to support hundreds of millions of users.
- Federated Identities
Sign-in through social identity providers such as Facebook and Twitter, or through your own identity solution, with full control to all of your AWS resources.
- Cognito Sync
Save user data, such as preferences and application state whilst also synchronising the data to each of the user’s devices and providing a consistent experience even when disconnected.
Development of applications that use such services is further complicated due to mobile platforms constantly updating their SDKs and the introduction of new languages such as Swift. As such, the Amazon AWS SDK’s sample projects and documentation often do not work with the latest development environments.
BJSS is working in partnership with the Amazon AWS Mobile Team and we have used our own Mobile Innovation Lab to implement a fully working AWS Environment which tests all of the authentication methods with AWS Cognito Federated Identities including:
- Cognito User Pools
- BYOI (Bring your own Identity)
We have also used the lab to develop a Cognito Sync Sample which can be used in Swift 2.2, Swift 2.3, Swift 3.0 and Objective-C.
In order to share our work with other developers, we have shared this code with Amazon on the Amazons AWS GitHub repository as well as the BJSS GitHub repository (Swift 3.0) to allow other developers to check the solution in their own environments.
AWS Cognito provides a scalable solution allowing easy user on-boarding, integration with multiple identity providers and caters for a consistent experience over all mobile platforms in both online and offline modes.