1 00:00:06,849 --> 00:00:09,365 - Now let's talk about Amazon Cognito. 2 00:00:09,365 --> 00:00:13,448 Amazon Cognito is a fairly rich service in itself 3 00:00:15,023 --> 00:00:17,185 in that it does a number of really useful things, 4 00:00:17,185 --> 00:00:20,608 especially in regards to mobile applications. 5 00:00:20,608 --> 00:00:23,022 One of the great things that Amazon Cognito does 6 00:00:23,022 --> 00:00:25,105 is help us with identity. 7 00:00:26,702 --> 00:00:29,541 By integrating with major authentication providers 8 00:00:29,541 --> 00:00:33,593 like Twitter, Facebook, Google, so on and so forth, 9 00:00:33,593 --> 00:00:38,444 a number of others, it allows us to implement single sign-on 10 00:00:38,444 --> 00:00:41,393 or login with Facebook, login with Twitter 11 00:00:41,393 --> 00:00:44,014 on any device or any platform. 12 00:00:44,014 --> 00:00:48,155 It could be laptop, desktop, tables, mobile devices. 13 00:00:48,155 --> 00:00:51,666 Instead of writing all of the various code 14 00:00:51,666 --> 00:00:54,518 to account for all of the differences 15 00:00:54,518 --> 00:00:56,805 between these various providers, 16 00:00:56,805 --> 00:00:59,326 because they all do things slightly differently. 17 00:00:59,326 --> 00:01:01,957 You know, Twitter versus Facebook versus Google. 18 00:01:01,957 --> 00:01:06,036 We simply write against one platform, that is Cognito. 19 00:01:06,036 --> 00:01:10,030 We write against that one service and allow that one service 20 00:01:10,030 --> 00:01:14,197 to handle the details of these various services for us. 21 00:01:15,458 --> 00:01:17,807 It also helps us manage unique identities 22 00:01:17,807 --> 00:01:20,890 across various platforms and devices, 23 00:01:22,881 --> 00:01:25,359 and helps implement temporary keys, 24 00:01:25,359 --> 00:01:27,776 as we've talked about before. 25 00:01:28,792 --> 00:01:32,142 In the cases where we have mobile applications 26 00:01:32,142 --> 00:01:35,775 that need access to other Amazon services, 27 00:01:35,775 --> 00:01:38,041 we can leverage that single sign-on, 28 00:01:38,041 --> 00:01:40,656 you know, login with Facebook, login with Twitter, 29 00:01:40,656 --> 00:01:44,740 and then leverage in Cognito and the security token service, 30 00:01:44,740 --> 00:01:48,903 we can implement temporary keys and deliver those 31 00:01:48,903 --> 00:01:52,639 temporary credentials back to our mobile application 32 00:01:52,639 --> 00:01:55,618 and then allow our mobile application to call 33 00:01:55,618 --> 00:01:58,785 other AWS services directly, such as 34 00:01:58,785 --> 00:02:02,952 Amazon Simple Storage Service, Amazon Dynamo DB, and so on. 35 00:02:04,780 --> 00:02:06,865 Another really powerful feature 36 00:02:06,865 --> 00:02:10,282 of Amazon Cognito is Amazon Cognito Sync, 37 00:02:11,886 --> 00:02:15,719 and this is a tool that allows us to sync data 38 00:02:16,792 --> 00:02:20,375 between various applications and platforms. 39 00:02:21,376 --> 00:02:24,097 Let's say we have different app data 40 00:02:24,097 --> 00:02:26,774 and we have that application on a desktop, 41 00:02:26,774 --> 00:02:28,456 we have it on our tablet, 42 00:02:28,456 --> 00:02:29,970 we have it on our smartphone, 43 00:02:29,970 --> 00:02:33,513 and Cognito can help sync that data 44 00:02:33,513 --> 00:02:36,180 between these different devices. 45 00:02:37,155 --> 00:02:39,340 Perhaps we want to save the state of our game 46 00:02:39,340 --> 00:02:41,681 or the state of the book we're reading. 47 00:02:41,681 --> 00:02:44,977 Perhaps we want to maintain the same preferences 48 00:02:44,977 --> 00:02:46,810 from device to device. 49 00:02:47,917 --> 00:02:50,023 It works across various devices, 50 00:02:50,023 --> 00:02:52,880 it works across different operating systems. 51 00:02:52,880 --> 00:02:57,141 It can also enable us to allow our users to work offline 52 00:02:57,141 --> 00:03:00,891 by storing data locally in a SQLite database, 53 00:03:02,432 --> 00:03:05,369 and so whether or not the user is online or not, 54 00:03:05,369 --> 00:03:09,058 they can continue to work, storing their data locally 55 00:03:09,058 --> 00:03:11,107 and then once they're back online, 56 00:03:11,107 --> 00:03:14,599 then Amazon SDK can automatically re-sync 57 00:03:14,599 --> 00:03:17,019 back to the Cognito servers. 58 00:03:17,019 --> 00:03:21,049 You can see Amazon Cognito is really powerful service 59 00:03:21,049 --> 00:03:23,993 that enables a lot of the hard work 60 00:03:23,993 --> 00:03:28,125 and the drudgery of developing for mobile applications. 61 00:03:28,125 --> 00:03:31,932 Single sign-on, syncing, these are common things 62 00:03:31,932 --> 00:03:34,318 that most applications need to do, 63 00:03:34,318 --> 00:03:36,155 so why reinvent the wheel? 64 00:03:36,155 --> 00:03:39,948 Why bother with all of the details of logging in 65 00:03:39,948 --> 00:03:43,384 with various services and syncing between various platforms? 66 00:03:43,384 --> 00:03:47,150 Just leverage one service that helps you do all of that, 67 00:03:47,150 --> 00:03:49,400 and that is Amazon Cognito.