MALE SPEAKER: OK so here's the wireframe
for the authentication flow, which is really simple.
They just put in their username or their email.
They need a strong password to protect their data.
They have capital letters, numbers, punctuation--
basic stuff-- minimum length of password, no usernames,
can't have them the same.
They have no common words.
If they get it wrong, a big red X. They get it right,
they get a nice green check right there,
and then they login.
Simple.
MALE SPEAKER 2: Why don't we use Smart Lock?
[MUSIC]
Hi, I'm Eiji.
Let me show you what is Smart Lock.
Smart Lock makes authenticating into devices,
websites, and apps easier, faster, and more secure.
Among other Smart Lock features, Smart Lock for Passwords
unlock your websites and apps using passwords
stored in the cloud when Chrome or Android is signed
in with a Google account.
Let's have a closer look at how it works.
Let's say you operate a website that
uses usernames and passwords to authenticate users.
Once a user is signed in to your website on Chrome,
Smart Lock can save the credentials for your user
so they don't need to remember the password next time they
visit your site using Chrome.
And because Smart Lock syncs to the cloud,
the user's credentials to your site
are available on other devices.
It's worked this way across devices in Chrome
for some time.
But today [INAUDIBLE] the credentials
are also available to the apps on the users' Android devices.
This means that Smart Lock enabled
apps can now retrieve the user's safety credential information
and automatically sign in the user.
This also works in reverse.
If a user starts with authenticating on your Android
app, your website can also retrieve the user's credential
information.
Let's take a closer look how you can
enable Smart Lock for Passwords on your Android app.
Before you start coding, make sure you
have added Google Play services revision 23 or later
as a dependency.
The first thing you should do is to retrieve
the user's password.
In order to do that, call AuthCredentialsAPIRequest.
By instantiating a credential request and call
setSupportPasswordLogin, you can create username and password
required to authenticate a user.
Note that by calling setAccountTypes,
you can query [? predicted ?] logins as well.
The result will be written as a callback with a Credential
Request Result as the argument.
By calling getStatus() you can get its status.
If the status indicates success, that
means there's only one credential information
associated with the Google account.
In that case, call get Credential
to obtain actual credential information
and proceed with signing in the user.
Otherwise let the user manually sign in and save the credential
information.
In order to save the credential information,
call Auth.CredentialsApi.save().
Save the credential information can be created by instantiating
a Credential object, then calling setPassword(...).
If you're running a web version of the same app,
make sure to link the domain to your app.
In order to do that, verify the domain
using Google Search Console.
Then link your app to the domain using Google Play Developer
Console.
Smart Lock for passwords removes friction
from your existing authentication system
by automatically signing in users across devices.
Once your user saves a password to Smart Lock,
they can skip entering their credentials
to access your app or site on all of their Chrome and Android
devices.
We are working on Smart Lock for Passwords
APIs on other platforms, too.
To keep updated and learn more about Smart Lock for Passwords,
head over to this document.
I'm looking forward to seeing you
develop apps that are personalized, yet low friction.
[ERASING]
MALE SPEAKER 2: Simple!
[MUSIC]