Autentificarea fără parolă trece prin utilizarea unei parole pentru înregistrare sau autentificare. În schimb, autentificarea utilizatorilor este confirmată fie printr-un cod de verificare SMS unică expediat pe telefonul utilizatorului, fie printr-un link unic la adresa lor de e-mail.
În acest tutorial rapid, vă voi arăta cum să utilizați Account Kit de la Facebook pentru autentificare fără parolă în aplicația Android. Utilizatorii dvs. se vor înregistra și se vor conecta fie cu numărul lor de telefon, fie cu o adresă de e-mail. Utilizatorii nu au nevoie nici măcar să aibă un cont Facebook care să fie autentificat.
Nu numai acest lucru, dar setul de cont este ușor de implementat și vă scutește de necesitatea de a construi cu tărie un sistem de conectare.
Următoarea diagramă trebuie să clarifice modul în care funcționează Contul Kit.
Autentificarea are loc într-o serie de schimburi între utilizator și aplicație. În primul rând, utilizatorul inițiază datele de conectare, probabil încărcând aplicația pe telefonul lor. Apoi, un cod de verificare este trimis către SMS-ul utilizatorului sau un e-mail trimis o singură dată este trimis prin e-mail. După aceasta, dacă utilizatorul introduce codul de validare sau dă clic pe link, acestea vor fi autentificate pentru aplicație.
O alta caracteristica interesanta a Facebook Account Kit este ca atunci cand utilizatorul va introduce numarul de telefon in aplicatie, Account Kit va face o incercare de a se potrivi cu numarul de telefon conectat la profilul utilizatorului din Facebook. Dacă utilizatorul este conectat la aplicația Facebook pentru Android și numerele de telefon se potrivesc, Account Kit va sări peste codul de verificare SMS și utilizatorul va fi conectat mai ușor.
Pentru a începe să utilizați contul de cont, veți avea nevoie de:
Accesați tabloul de bord al aplicației, faceți clic pe Adăugați produsul și selectați Cont trusă. Apoi faceți clic pe Incepe pentru a adăuga setul de cont. Ce veți vedea este configurația setărilor pentru Contul Kit.
Adăugați dependența de cea mai recentă versiune a setului SDK Account Kit din aplicația dvs. build.gradle fișier și sincronizați-vă proiectul.
repositories jcenter () dependențe compile 'com.facebook.android:account-kit-sdk:4.+'
Adăugați ID-ul de aplicație Facebook, Setul de contclient (acest lucru este disponibil în tabloul de bord al Setului de cont) și INTERNET
permisiunea de a AndroidManifest.xml.
Includeți codul dvs. de identificare a aplicației și a contului Client Kit Kit în aplicația dvs. strings.xml fişier.
YourAPPId YourAccountKitClientToken
De asemenea, includeți tema Account Kit din stiluri.xml.
În clasa Aplicații, inițializați SDK (nu uitați să includeți Android: Numele
în tine AndroidManifest.xml).
clasa publica MyApplication extinde aplicația @Override public void onCreate () super.onCreate (); AccountKit.initialize (getApplicationContext ());
Trebuie să scriem un handler separat pentru fluxurile de autentificare prin SMS și email.
Pentru SMS, pe linia 5, specificăm tipul de conectare LoginType.PHONE
.
public void onSMSLoginFlow (Vizualizare vizualizare) final Intent intent = Intent nou (aceasta, AccountKitActivity.class); AccountKitConfiguration.AccountKitConfigurationBuilder configurationBuilder = nou AccountKitConfiguration.AccountKitConfigurationBuilder (LoginType.PHONE, AccountKitActivity.ResponseType.CODE); // sau .ResponseType.TOKEN // ... efectuați configurația suplimentară ... intent.putExtra (AccountKitActivity.ACCOUNT_KIT_ACTIVITY_CONFIGURATION, configurationBuilder.build ()); startActivityForResult (intenție, 101);
Pentru e-mail, pe linia 5, specificăm tipul de conectare LoginType.EMAIL
.
public void onEmailLoginFlow (Vizualizare vizualizare) final Intent intent = Intenție nouă (aceasta, AccountKitActivity.class); AccountKitConfiguration.AccountKitConfigurationBuilder configurationBuilder = nou AccountKitConfiguration.AccountKitConfigurationBuilder (LoginType.EMAIL, AccountKitActivity.ResponseType.CODE); // sau .ResponseType.TOKEN // ... efectuați configurația suplimentară ... intent.putExtra (AccountKitActivity.ACCOUNT_KIT_ACTIVITY_CONFIGURATION, configurationBuilder.build ()); startActivityForResult (intenție, 101);
Iată un aspect simplu pentru un ecran care arată butoanele pentru a vă conecta prin SMS sau e-mail.
Acum, când un utilizator încearcă să se conecteze, vom primi un răspuns în onActivityResult ()
metodă. În această metodă, putem gestiona autentificările reușite, anulate și nereușite.
@Override protejat void onActivityResult (final int requestCode, final resultCode int, final Intent data) super.onActivityResult (requestCode, resultCode, data); if (requestCode == 101) // confirmați că acest răspuns corespunde solicitării dvs. AccountKitLoginResult loginResult = data.getParcelableExtra (AccountKitLoginResult.RESULT_KEY); String toastMessage; dacă (loginResult.getError ()! = null) toastMessage = loginResult.getError (). getErrorType (). getMessage (); showErrorActivity (loginResult.getError ()); altfel dacă (loginResult.wasCancelled ()) toastMessage = "Autentificare anulată"; altceva if (loginResult.getAccessToken ()! = null) toastMessage = "Succes:" + loginResult.getAccessToken () getAccountId (); altceva toastMessage = String.format ("Succes:% s ...", loginResult.getAuthorizationCode () subrevers (0, 10)); // Dacă aveți un cod de autorizare, extrageți-l din // loginResult.getAuthorizationCode () // și transferați-l pe serverul dvs. și schimbați-l pentru un jeton de acces. // Succes! Începeți următoarea activitate ... goToMyLoggedInActivity (); / / Surface rezultatul pentru utilizatorul dvs. într-un mod adecvat. Toast.makeText (aceasta, toastMessage, Toast.LENGTH_LONG) .show ();
Acum putem rula aplicația noastră pentru a testa fluxurile de conectare prin SMS și e-mail!
Rețineți că setul de instrumente JavaScript Kit Kit JavaScript SDK nu acceptă autentificarea WebView, astfel încât să nu puteți conecta utilizatorii dintr-un WebView cu contul Kit. Va trebui să scrieți interfața de conectare a contului de cont cu codul nativ.
În acest tutorial rapid, ați învățat despre autentificarea fără parolă utilizând Facebook Account Kit: ce este, de ce ați dori să luați în considerare utilizarea acestuia și cum să îl implementați în aplicația Android.
Un cuvânt de avertizare, deși: unii văd autentificarea fără parolă ca fiind mai puțin sigură. Majoritatea oamenilor nu ar folosi acest lucru atunci când securitatea este o prioritate, de exemplu cu o aplicație bancară. Deci, utilizați o anumită discreție cu privire la momentul în care să o utilizați și când să faceți o schemă de autentificare mai tradițională.
Pentru a afla mai multe despre Kitul de cont Facebook, consultați documentația oficială. Și pentru a afla mai multe despre dezvoltarea Androidului, consultați câteva dintre celelalte postări de aici pe Envato Tuts+!