- Now let's talk about Amazon Cognito.
Amazon Cognito is a fairly rich service in itself
in that it does a number of really useful things,
especially in regards to mobile applications.
One of the great things that Amazon Cognito does
is help us with identity.
By integrating with major authentication providers
like Twitter, Facebook, Google, so on and so forth,
a number of others, it allows us to implement single sign-on
or login with Facebook, login with Twitter
on any device or any platform.
It could be laptop, desktop, tables, mobile devices.
Instead of writing all of the various code
to account for all of the differences
between these various providers,
because they all do things slightly differently.
You know, Twitter versus Facebook versus Google.
We simply write against one platform, that is Cognito.
We write against that one service and allow that one service
to handle the details of these various services for us.
It also helps us manage unique identities
across various platforms and devices,
and helps implement temporary keys,
as we've talked about before.
In the cases where we have mobile applications
that need access to other Amazon services,
we can leverage that single sign-on,
you know, login with Facebook, login with Twitter,
and then leverage in Cognito and the security token service,
we can implement temporary keys and deliver those
temporary credentials back to our mobile application
and then allow our mobile application to call
other AWS services directly, such as
Amazon Simple Storage Service, Amazon Dynamo DB, and so on.
Another really powerful feature
of Amazon Cognito is Amazon Cognito Sync,
and this is a tool that allows us to sync data
between various applications and platforms.
Let's say we have different app data
and we have that application on a desktop,
we have it on our tablet,
we have it on our smartphone,
and Cognito can help sync that data
between these different devices.
Perhaps we want to save the state of our game
or the state of the book we're reading.
Perhaps we want to maintain the same preferences
from device to device.
It works across various devices,
it works across different operating systems.
It can also enable us to allow our users to work offline
by storing data locally in a SQLite database,
and so whether or not the user is online or not,
they can continue to work, storing their data locally
and then once they're back online,
then Amazon SDK can automatically re-sync
back to the Cognito servers.
You can see Amazon Cognito is really powerful service
that enables a lot of the hard work
and the drudgery of developing for mobile applications.
Single sign-on, syncing, these are common things
that most applications need to do,
so why reinvent the wheel?
Why bother with all of the details of logging in
with various services and syncing between various platforms?
Just leverage one service that helps you do all of that,
and that is Amazon Cognito.