Počítače Okna Internet

1c autorizace u vchodu do mobilní aplikace. Volání operace webového serveru

, PHP, systémy zasílání zpráv

Jsme rádi, že můžeme tuto službu představit komunitě PushAuth což umožňuje vašim klientům přihlásit se pomocí PUSH zpráv na svém mobilním zařízení!



Tato myšlenka není nová a mnoho společností již tuto technologii ve svých aplikacích používá. Všechno vypadá dostatečně jednoduše, dokud se nebudete zabývat těmito problémy: zabezpečení, správa zařízení a klientů, kompatibilita a pohodlná práce.

Jak ten nápad vznikl?

Využíváme mnoho služeb: e -mail, sociální sítě, CRM systémy, systémy řízení přístupu, klientské banky atd. Pro každou ze služeb, jak je správné, pro přístup musíte použít přihlášení / e -mail a Heslo... Již nyní můžeme dojít k závěru, že:

  1. Téměř každý z nás má e -mailovou adresu.
  2. Ve většině případů jsou hesla všude stejná. (Budeme předpokládat, že nepoužíváme služby třetích stran, jako je 1password a další)

Na základě dvou bodů jsem chtěl:

  1. K autorizaci použijte tento jeden e -mail.
  2. V žádném případě nepoužívejte hesla.

Co z toho vzniklo?

Jsme v mobilních aplikacích pro registraci hesla vůbec nepoužívejte... Ano, není nutné si pamatovat další heslo. K registraci / autorizaci v mobilní aplikaci stačí zadat pouze e -mail, na který přijde dopis s odkazem na potvrzení akce. Po dalším zadání e -mailu automaticky vstoupíte do aplikace bez registrace.

Jaké jsou typy autorizace?

V současné době jsou k dispozici dva hlavní typy žádostí o autorizaci:

  1. Push otázka pro autorizaci, ve které musí klient dát odpověď: Ano nebo Ne Pro tuto metodu je služba k dispozici směrování, o kterém trochu níže.
  2. Safe Push Code, na kterou posílá sám majitel služby mobilní aplikace klient využívající službu PushAuth.
  3. Autorizace QR, který vám umožní naskenovat kód pomocí mobilní aplikace klienta a projít autorizací. Tato metoda již ve fázi uzavřeného testování s mobilními aplikacemi a také bude v blízké budoucnosti k dispozici.

Mobilní aplikace

  • K doručování zpráv PUSH v systému Android a iOS používáme cloudové zprávy FireBase. Všechna data přenesená z mobilní aplikace na server PushAuth jsou podepsána osobními soukromými klíči HMAC SHA-256.
  • Mobilní aplikace je navíc chráněna PIN kódem (TouchID-heslo), což zvyšuje úroveň zabezpečení před neoprávněným přístupem.
  • Plánujeme vyvinout sadu SDK, která vám umožní používat funkce API ve vašich mobilních aplikacích.
  • Klienti mohou mít 10 zařízení najednou, na která lze přijímat požadavky PUSH. Odpovědi na jednom ze zařízení, na ostatních zařízeních, jsou odpovědi na Push ignorovány. Při odpovědi na jedno plánujeme zprávy Push skrýt na jiných zařízeních.


Push otázka



Safe Push Code


Aplikace jsou již k dispozici:

Backend


Pro vlastníky služeb jsou k dispozici podrobné statistiky o stavech autorizace jejich klientů. Pro každou službu můžete vytvořit samostatnou aplikaci a sledovat její používání. Kromě toho můžete nakonfigurovat Web Hooks, které budou odesílat autorizační data:

  • QR kódy
  • Push žádosti
  • Časový limit odezvy zákazníků

Kde jej můžete použít?

CRM

Začněme náš let fantazie IT službami, například stejnými CRM systémy, kde je potřeba potvrdit akci zaměstnance. Například díky službě směrování, je možné to udělat tak, že k podpisu dokumentu je vyžadováno potvrzení vedení. Celý obrázek tedy vypadá takto:

  1. Zaměstnanec zahájí akci a obdrží požadavek PUSH a odpoví Ano.
  2. Jeho bezprostřední nadřízený obdrží žádost PUSH a odpoví Ano.
  3. Nadřízený vedoucí obdrží požadavek PUSH a odpoví Ano.
  4. Výsledek všech akcí bude Ano

Pokud v nějaké fázi někdo odpoví Ne, pak další upstream odkaz neobdrží požadavek PUSH a celkový výsledek požadavků bude odpovědí Ne


Výše jsme popsali fungování služby směrování s prioritou. Tuto službu však lze používat bez priority. To znamená, že všechny odkazy v řetězci (zaměstnanci) obdrží požadavek PUSH současně. A pouze pokud všichni odpoví kladně, pak bude celkový výsledek dotazu kladný.

Webová stránka

Dvoufaktorová nebo jednoduchá jednofaktorová autorizace na webu může zjednodušit nebo zajistit přístup k interním zdrojům. Chcete-li například přistupovat k webovému panelu pro správu WordPress, když udělíte přístup svému dodavateli / vývojáři a chcete jej přísně kontrolovat pomocí požadavků na autorizaci push.

OS

Používáte přístup SSH / telnet? Nebo chcete obdržet žádost o autorizaci, když otevřete víko notebooku? Pak bude tato služba perfektní.

Strojírenství a vybavení

Přístup k zařízením (trezor, výtah, turniket, alarm) můžete navíc implementovat v průmyslovém měřítku pomocí mobilní aplikace.

Bezpečnostní


Toto je nejdůležitější otázka této služby. Stojí za to věnovat pozornost takovým věcem, jako je výměna dat mezi Službou uživatele<-->Server PushAuth<-->Klientská aplikace.
Všechna data jsou přenášena přes HTTPS (TLS), s podpisem HMAC, algoritmem SHA-256. Každý klient a uživatel služby má svůj vlastní pár veřejného a soukromého klíče. Veřejný klíč je v našem případě nezbytný pro identifikaci ve sdíleném síťovém úložišti a lze jej přenášet v prostém textu. Soukromý klíč je přenášen bezpečným způsobem. V případě mobilní aplikace jsou všechny klíče přenášeny pouze prostřednictvím APN / GCM. Poskytujeme tedy dodatečnou ochranu na úrovni certifikátů těchto služeb.

Dříve nebo později má vývojář mobilních aplikací touhu nějak odlišit každého uživatele - vytvořit mu osobní profil, dát mu možnost přenést aplikaci do nový mobil bez ztráty obsahu nebo jednoduše rozesílání přizpůsobených reklam.

Intro

Základem jakékoli personalizace je vlastní účet pro každého uživatele. Ale člověk je tak uspořádaný, že jen málo lidí chce ztrácet čas nudnou registrací - uživatelé už mají Instagram, Twitter a Facebook a v jejich hlavách nemusí být dost místa pro nové účty. Za příkladem ani není třeba chodit daleko - podívejte se do svého srdce :). Představte si, že jste uživatel - pro jednoho z vás Google Play existují desítky užitečných aplikací, ale pravděpodobně nemáte chuť se registrovat v každé z nich.

Tak se objevila technologie OAuth - mechanismus autorizace uživatele na zdrojích třetích stran pomocí důvěryhodné třetí strany. Tato služba se stala velmi populární: Instagram, Facebook a mnoho dalších velkých projektů nyní umožňuje jejich uživatelům rychle se přihlásit do zdroje třetí strany. Připojte se také: i v malém projektu má dnes smysl implementovat OAuth - uživatelé jsou již na tento mechanismus zvyklí.

Dobrý programátor, na rozdíl od juniora, alespoň obecně chápe, co dělá, takže před implementací API pojďme analyzovat, jak to všechno funguje.

Všimněte si, že vstoupil OAuth mobilní zařízení z webu, proto i když jste daleko od Javy a Androidu, informace o tom, jak takový autorizační mechanismus funguje, pro vás mohou být stále užitečné.

Zařízení OAuth

S příchodem technologie OAuth se registrační algoritmus pro nový zdroj pro uživatele dramaticky změnil. Nyní si nemusíte pamatovat další přihlašovací údaje, ale můžete na web vstoupit několika kliknutími pomocí svého účet jedna ze sociálních sítí.

Představme si malou aplikaci s názvem App, kde si uživatel opravdu chce vytvořit účet pro sebe. Nechce přijít s novým uživatelským jménem a heslem, ale určitá stránka existuje sociální síť proto se rozhodne přihlásit se do aplikace pomocí svého účtu kliknutím na známou ikonu. Tím se spustí autorizační proces, do kterého je zapojeno překvapivě mnoho stran, i když navenek se vše děje, jako by bylo uvnitř aplikace. Celý proces lze rozdělit do šesti kroků.

Takhle to funguje. Schéma je poměrně zjednodušené a chci vás upozornit na základní rys OAuth: tuto technologii neověřuje uživatel. OAuth neodpovídá za platnost dvojice „přihlášení - heslo“ a ještě více za to, že tato data zadává uživatel! Celý proces zahrnuje pouze autorizace- to znamená, že aplikaci je uděleno právo provádět akce s uživatelskými daty uloženými na serveru třetí strany.

Současně je zde také ověřování a probíhá ve fázích 1–3, ale neviditelně k nám pokračuje pomocí protokolu OpenID integrovaného do OAuth. Tento protokol implementuje trochu kryptografické magie, jejíž popis bude vyžadovat několik takových článků, takže se toho dnes nedotkneme.

Implementace

Teoretická část skončila, pojďme začít Android Studio... OAuth je nyní velmi populární, na webových stránkách projektu je uvedeno více než deset velkých projektů, které tuto technologii podporují. Jak jste asi uhodli, obecný princip fungování je v každém případě stejný, liší se pouze názvy tříd a adresy certifikačních center.

Pokračování je k dispozici pouze účastníkům

Možnost 1. Připojte se ke komunitě „stránek“ a přečtěte si všechny materiály na webu

Členství v komunitě během zadaného období vám otevře přístup ke VŠEM materiálům hackerů, zvýší vaši osobní kumulativní slevu a umožní vám nashromáždit profesionální skóre Xakep!

Nabízíme vám malý přehled, který, jak doufáme, bude zajímat designéry, vývojáře a především produktové manažery. Řekneme vám, kdy je lepší ukázat autorizační formulář, jak ho ukázat, jak zkrátit dobu vyplňování pro uživatele, co by nemělo být zapomenuto při vstupu přes sociální sítě a jak jednodušší je provést autorizaci prostřednictvím telefon.

Jako v sexu: čím později, tím lépe

Nutí uživatele, aby se do vaší aplikace přihlásil nebo zaregistroval hned poté, co si ji stáhl a poprvé otevřel? To znamená, že zvyšujete šance, že aplikace bude okamžitě v košíku. To potvrzují statistiky, takže naše první rada: dát autorizaci do okamžiku, kdy je to opravdu potřeba. Může to být odeslání objednávky nebo vytvoření komentáře. ...

Hlavními způsoby vstupu do aplikace, které jsou dnes hojně využívány, jsou přihlášení + heslo, sociální sítě, telefon + kód ze SMS. Podívejme se podrobněji na první z těchto metod.

Přihlášení + heslo

Pokud má uživatel zadat osobní údaje, naším úkolem je tento proces mu usnadnit.

Tipy pro vstupní pole

V jednoduchých formách, například pokud používáme obvyklé zadávání přihlašovacích údajů a hesel, můžeme názvy polí umístit do zástupných symbolů, to je uživateli zcela zřejmé. Ve složitější podobě, kde existují omezení pro zadávání dat, musíme použít štítky a zástupný symbol, například vysvětlení délky hesla. Je lepší umístit Štítky a zástupné symboly nad vstupní pole, takže je uživateli kdykoli zřejmé, co vyplňuje a jak by to mělo být provedeno.

V mobilních aplikacích není nejvhodnější umisťovat štítky na stejný řádek jako vstupní pole. To zabírá užitečný horizontální prostor. Například registrační formulář pro iPhone Lamoda.

Dva kvalitní články na téma: Zástupné symboly v polích formulářů jsou škodlivé, použitelnost mobilních formulářů: Nikdy nepoužívejte vložené štítky.

Automatické vyplňování

Dokončení oblíbených domén. Knihovna HotelTonight pro iOS zrychluje zadávání e -mailů na základě oblíbených e -mailových domén. V systému Android můžete totéž provést ručně. To vše příjemně zrychluje zadávání e-mailů.

Dokončení oblíbených poštovních domén

Automatické vyplňování e-mailů pro účty Google. Aplikace pro Android může získat seznam účtů Google v zařízení a navrhnout uživateli automatické dokončení. To dělají například Evernote a Instagram. Můžete jednat jinak: automaticky vyplňte vstupní pole jedním z emailová adresa... Jelikož většina uživatelů má jeden účet Google, je velká šance, že jej uděláme správně. To dělají Facebook a Twitter. iOS neposkytuje přístup k e-mailu uživatele, takže takové automatické vyplňování nelze provést.

Automatické dokončování pošty pro účty Google ve službě Evernote

Název automatického doplňování. Na straně serveru nebo v aplikaci můžete uložit základnu oblíbených jmen a nabídnout uživateli automatické doplňování. V systému Android opět může pomoci Google+. Ale toto je stále nejednoznačný způsob - koneckonců zadání jména trvá několik sekund a jakékoli automatické dokončování uživatele do určité míry rozptyluje.

Automatické dokončení dříve použitého přihlášení při autorizaci. Pokud aplikace nepřepíná mezi účty, jako na oficiálním Twitteru nebo Gmailu, je užitečné při přihlašování automaticky dokončit dříve používané e-maily / přihlášení. Například Instagram zobrazuje poslední použité přihlášení. Tato metoda však není vhodná pro finanční aplikace, protože bezpečnost je v nich důležitá. Pokud se uživatel odhlásil z aplikace, pak by nikdo neměl vědět, jaké přihlášení použil.

Automatická detekce ♀ ♂. Aplikace mohou určit pohlaví podle zadaného jména. Služba genderize.io obsahuje databázi 200 000+ jmen, 79 zemí a 89 jazyků. 100 000 žádostí za měsíc stojí 9 $. Pro obě platformy existuje SDK. V systému Android se můžete pokusit zjistit pohlaví Účet Google+. Bohužel není vždy připojen uživatelem a v Rusku je G + obecně málo využíván.

Automatické vyplňování adresy zrychluje zadávání do pokladních formulářů, někdy je takové pole v registračním formuláři přítomno. Existuje dobrý přehled služeb, které problém řeší.

Hesla

Je obtížné dvakrát zadat heslo do aplikace. Stačí to udělat jednou a pokud byl vstup proveden s chybou, uživatel by měl mít možnost změnit / obnovit heslo.

Při zadávání bodů tečkami je obvyklé heslo skrýt. Tlačítko „zobrazit heslo“ je užitečné - je důležité zejména na registrační obrazovce, pokud nepožádáme uživatele o zadání hesla dvakrát. To je zajímavě implementováno do sportovních trackerů Runtastic: zobrazí se heslo, stiskne se tlačítko „oko“.

Obnovení hesla není primární úkol. Většina špičkových aplikací za tímto účelem pošle uživatele na webovou stránku. Obnovení nemusí být samostatná obrazovka, která se otevírá v prohlížeči, lze ji implementovat na přihlašovací obrazovce pomocí jednoduchých animací. Skvělé příklady: Airbnb, Tumblr, Runtastic.

Tumblr iOS Obnovení hesla

Kontrola polí, klávesnice a nabídky

Je důležité zkontrolovat správnost vyplnění polí v samotné aplikaci. Ověření na straně serveru vyžaduje čas a obtěžuje uživatele. Toto pravidlo platí také pro kontrolu dostupných přihlášení / e-mailů, které by měly fungovat za běhu. Dobrými příklady jsou - Yandex Music, Twitter.

Pro všechny odlišné typy polí, je důležité používat příslušné typy klávesnic: iOS, Android. Pokud uživatel zadá poštu, měl by být na klávesnici znak @, čísla pro zadání čísla atd.

Víte, že nabídku nikdo nečte. Domnívám se, že zaškrtávací políčko smlouvy s ním je nadbytečné - odvádí pozornost uživatele od obsahu. Stačí umístit text „registrací souhlasíte se zásadami ochrany osobních údajů a podmínkami služby“ se zvýrazněním požadovaných odkazů.

Sociální síť

Toto je nejjednodušší způsob, jak se uživatel přihlásit: nemusí přihlašovací jméno a heslo vyplňovat ručně. Je rozumné třídit tlačítka sociálních médií podle frekvence používání podle platformy a země. Google+ je výhodnější pro Android, většina uživatelů v Rusku má VK atd. To dělá Foursquare na Androidu.

Na technologické stránce můžete k implementaci přihlášení použít univerzální knihovny oAuth nebo oficiální sady SDK pro sociální média. Oficiální sady SDK mají důležitou výhodu: autorizují prostřednictvím nainstalované aplikace buď prostřednictvím uživatelských účtů v nastavení systému... Pokud se uživatel přihlásí prostřednictvím sociální sítě, je velmi pravděpodobné, že má nainstalovanou odpovídající aplikaci.

Jak fungují oficiální sady SDK

Telefonní číslo a ověřovací kód

V systému Android můžete číslo automaticky doplňovat ze SIM karty, ale to nefunguje na všech zařízeních, takže je třeba vzít v úvahu kód možné chyby... V praxi jsem nenašel aplikace, které to dělají, ale použití této metody je celkem přijatelné.

Po zadání a odeslání čísla potřebuje uživatel zadat kód ze SMS. Aplikace pro Android to dokáže automaticky. Tuto techniku ​​používají společnosti Viber, Telegram, Rocketbank. Je jen důležité vysvětlit uživateli, že SMS brzy dorazí, stačí jen chvíli počkat.

Číslice látek. Twitter má bezplatné řešení pro autorizaci prostřednictvím telefonní číslo... Je to SMS brána + mobilní a webová SDK. Vzhled rozhraní v určitém rámci lze přizpůsobit. Toto je nejjednodušší řešení po vybalení z krabice.

Číslice látek

Závěr

Zde jsem se pokusil nastínit všechny myšlenky, které jsem v poslední době formuloval o přihlášení do aplikace a práci s formuláři. Tento příspěvek je jakýmsi kontrolním seznamem, doufám, že vám bude užitečný. Pokud máte nějaké dotazy, napište: [chráněno emailem]