Počítače Windows internet

1c autorizácia pri vstupe do mobilnej aplikácie. Volanie operácie webového servera

, PHP, Messaging Systems

Sme radi, že môžeme službu predstaviť komunite PushAuthčo umožňuje vašim klientom prihlásiť sa pomocou PUSH správ na ich mobilnom zariadení!



Táto myšlienka nie je nová a mnohé spoločnosti už túto technológiu vo svojich aplikáciách využívajú. Všetko vyzerá dosť jednoducho, kým nezohľadníte problémy: bezpečnosť, správa zariadení a klientov, kompatibilita a pohodlná práca.

Ako vznikol nápad?

Využívame množstvo služieb: email, sociálne siete, CRM systémy, systémy kontroly prístupu, klientske banky atď. Pre každú zo služieb, ako je správne, pre prístup je potrebné použiť prihlásenie / email a heslo... Už teraz môžeme konštatovať, že:

  1. Takmer každý z nás má e-mailovú adresu.
  2. Vo väčšine prípadov sú heslá všade rovnaké. (Budeme predpokladať, že nepoužívame služby tretích strán ako 1password a iné)

Na základe dvoch bodov som chcel:

  1. Na autorizáciu použite tento jeden e-mail.
  2. Vôbec nepoužívajte heslá.

čo z toho vzniklo?

Sme v mobilných aplikáciách na registráciu nepoužívajte heslá vôbec... Áno, nie je potrebné si pamätať ďalšie heslo. Na registráciu / autorizáciu v mobilnej aplikácii stačí zadať iba email, na ktorý príde list s odkazom na potvrdenie akcie. Po ďalšom zadaní emailu automaticky vstúpite do aplikácie bez registrácie.

Aké sú typy autorizácie?

V súčasnosti sú k dispozícii dva hlavné typy žiadostí o autorizáciu:

  1. Položte otázku na autorizáciu, v ktorej musí klient uviesť odpoveď: Áno alebo Nie. Pre túto metódu je služba dostupná smerovanie, o ktorom trochu nižšie.
  2. Safe Push Code, na ktorú zasiela sám majiteľ služby mobilná aplikácia klient využívajúci službu PushAuth.
  3. QR autorizácia, ktorá umožňuje naskenovať kód mobilnou aplikáciou klienta a prejsť autorizáciou. Táto metóda už v štádiu uzavretého testovania s mobilnými aplikáciami a bude dostupný aj v blízkej budúcnosti.

Mobilné aplikácie

  • FireBase Cloud Messaging používame na doručovanie správ PUSH v systémoch Android a iOS. Všetky údaje prenášané z mobilnej aplikácie na server PushAuth sú podpísané osobnými súkromnými kľúčmi HMAC SHA-256.
  • Mobilná aplikácia je navyše chránená PIN kódom (TouchID heslo), čo zvyšuje úroveň zabezpečenia proti neoprávnenému prístupu.
  • Plánujeme vyvinúť súpravu SDK, ktorá vám umožní využívať funkcie API vo vašich mobilných aplikáciách.
  • Klienti môžu mať naraz 10 zariadení, na ktoré je možné prijímať PUSH požiadavky. Odpovedanie na jednom zo zariadení, na ostatných zariadeniach sa odpovede na Push ignorujú. Pri odpovedaní na jedno zariadenie plánujeme skryť správy Push na iných zariadeniach.


Položte otázku



Safe Push Code


Prihlášky sú už dostupné:

Backend


Pre vlastníkov služieb sú k dispozícii podrobné štatistiky o stave autorizácie ich klientov. Pre každú službu môžete vytvoriť samostatnú aplikáciu a sledovať jej používanie. Okrem toho môžete nakonfigurovať webové háky, ktoré budú odosielať autorizačné údaje:

  • QR kódy
  • Push požiadavky
  • Časový limit odpovedí zákazníkov

Kde ho môžete použiť?

CRM

Začnime náš let fantázie s IT službami, napríklad rovnakými CRM systémami, kde je potrebné potvrdiť činnosť zamestnanca. Napríklad aj vďaka službe smerovanie, je možné to urobiť tak, že na podpis dokumentu je potrebné potvrdenie vedenia. Celý obrázok teda vyzerá takto:

  1. Zamestnanec spustí akciu a dostane požiadavku PUSH a odpovie Áno.
  2. Jeho priamy nadriadený dostane požiadavku PUSH a odpovie Áno.
  3. Nadriadený vodca dostane požiadavku PUSH a odpovie Áno.
  4. Výsledkom všetkých akcií bude Áno

Ak v určitej fáze niekto odpovie nie, potom nasledujúci upstream odkaz nedostane požiadavku PUSH a celkovým výsledkom požiadaviek bude odpoveď nie


Vyššie sme popísali fungovanie služby smerovanie s prioritou. Túto službu je však možné použiť bez prednostného prístupu. To znamená, že všetky články v reťazci (zamestnanci) dostanú súčasne požiadavku PUSH. A iba ak všetci odpovedia kladne, iba vtedy bude celkový výsledok dopytu pozitívny.

Web-stránka

Dvojfaktorová alebo jednoduchá jednofaktorová autorizácia na stránke môže zjednodušiť alebo zabezpečiť prístup k interným zdrojom. Napríklad na prístup k webovému panelu správcu WordPress, keď udelíte prístup svojmu dodávateľovi / vývojárovi a chcete ho prísne kontrolovať prostredníctvom žiadostí o autorizáciu Push.

OS

Používate SSH/telnet prístup? Alebo chcete dostávať žiadosť o autorizáciu, keď otvoríte kryt prenosného počítača? Potom by táto služba bola dokonalá.

Inžinierstvo a vybavenie

Prístup do objektov (trezor, výťah, turniket, alarm) môžete dodatočne realizovať v priemyselnom meradle pomocou mobilnej aplikácie.

Bezpečnosť


Toto je najdôležitejšia otázka v tejto službe. Stojí za to venovať pozornosť takým veciam, ako je výmena údajov medzi Službou používateľa<-->Server PushAuth<-->Klientska aplikácia.
Všetky dáta sa prenášajú cez HTTPS (TLS), s podpisom HMAC, algoritmus SHA-256. Každý klient a používateľ služby má svoj vlastný verejný a súkromný kľúč. Verejný kľúč je v našom prípade nevyhnutný na identifikáciu v zdieľanom sieťovom úložisku a môže byť prenášaný ako čistý text. Prebieha prenos súkromného kľúča spoľahlivým spôsobom... V prípade mobilnej aplikácie sa všetky kľúče prenášajú iba cez APN / GCM. Poskytujeme tak dodatočnú ochranu na úrovni certifikátov pre tieto služby.

Skôr či neskôr má vývojár mobilnej aplikácie túžbu nejako rozlíšiť každého používateľa - vytvorte mu osobný profil, dajte mu možnosť preniesť aplikáciu na nový telefón bez straty obsahu alebo jednoducho odosielania prispôsobených reklám.

Úvod

Základom každej personalizácie je vlastný účet pre každého používateľa. Ale človek je tak zariadený, že len málokomu sa chce strácať čas nudnou registráciou – užívatelia už majú Instagram, Twitter a Facebook a v ich hlavách nemusí byť dosť miesta na nové účty. Pre príklad ani netreba chodiť ďaleko – pozri sa do svojho srdca :). Predstavte si, že ste používateľom – pre jedného z vás Google Play užitočných aplikácií sú desiatky, no do každej z nich zrejme nemáte chuť sa registrovať.

Takto sa objavila technológia OAuth - mechanizmus na autorizáciu používateľa na zdrojoch tretích strán pomocou dôveryhodnej tretej strany. Táto služba sa stala mimoriadne populárnou: Instagram, Facebook a mnohé ďalšie veľké projekty teraz umožňujú svojim používateľom rýchlo sa prihlásiť do zdroja tretej strany. Pridajte sa aj vy: aj v malom projekte má dnes zmysel implementovať OAuth – používatelia sú už na tento mechanizmus zvyknutí.

Dobrý programátor, na rozdiel od juniora, aspoň vo všeobecnosti rozumie tomu, čo presne robí, takže pred implementáciou API si analyzujme, ako to celé funguje.

Všimnite si, že sa objavil OAuth mobilné zariadenia z webu, takže aj keď máte k Jave a Androidu ďaleko, informácie o tom, ako takýto autorizačný mechanizmus funguje, sa vám môžu hodiť.

Zariadenie OAuth

S príchodom technológie OAuth sa výrazne zmenil algoritmus registrácie nového zdroja pre používateľa. Teraz si už nemusíte pamätať ďalšie prihlasovacie údaje, ale môžete vstúpiť na stránku niekoľkými kliknutiami pomocou účtu jednej zo sociálnych sietí.

Predstavme si malú aplikáciu s názvom App, kde si chce používateľ naozaj vytvoriť účet. Nemá chuť prísť s novým užívateľským menom a heslom, ale v určitom je stránka sociálna sieť preto sa rozhodne prihlásiť do aplikácie pomocou svojho účtu kliknutím na známu ikonu. Tým sa spustí autorizačný proces, do ktorého je zapojených prekvapivo veľa strán, hoci navonok sa všetko deje akoby vo vnútri aplikácie. Celý proces možno rozdeliť do šiestich krokov.

Takto to funguje. Schéma je dosť zjednodušená a chcem vás upozorniť na základnú vlastnosť OAuth: túto technológiu neoveruje užívateľ. OAuth nezodpovedá za platnosť dvojice "login - heslo" a ešte viac za to, že tieto údaje zadáva užívateľ! Celý proces zahŕňa iba oprávnenie- to znamená, že aplikácii je udelené právo vykonávať akcie s používateľskými údajmi uloženými na serveri tretej strany.

Zároveň je tu aj autentifikácia, ktorá prebieha vo fázach 1–3, ale pre nás prebieha neviditeľne pomocou protokolu OpenID zabudovaného do OAuth. Tento protokol implementuje trochu kryptografickej mágie, ktorej popis bude vyžadovať niekoľko takýchto článkov, takže sa ho dnes nebudeme dotýkať.

Implementácia

Teoretická časť sa skončila, začnime Android Studio... OAuth je teraz veľmi populárny, na stránke projektu je uvedených viac ako desať veľkých projektov, ktoré túto technológiu podporujú. Ako ste možno uhádli, všeobecný princíp fungovania je v každom prípade rovnaký, líšia sa len názvy tried a adresy certifikačných centier.

Pokračovanie je dostupné len pre účastníkov

Možnosť 1. Pripojte sa ku komunite „stránky“ a prečítajte si všetky materiály na stránke

Členstvo v komunite počas určeného obdobia vám otvorí prístup ku VŠETKÝM hackerským materiálom, zvýši vašu osobnú kumulatívnu zľavu a umožní vám nazbierať profesionálne skóre Xakep!

Ponúkame vám malý prehľad, ktorý, dúfame, zaujme dizajnérov, vývojárov a predovšetkým produktových manažérov. Prezradíme vám, kedy je lepšie autorizačný formulár zobraziť, ako ho zobraziť, ako používateľovi skrátiť čas vyplnenia, na čo nesmiete zabudnúť pri zadávaní cez sociálne siete a ako jednoduchšie je vykonať autorizáciu cez Telefón.

Ako sex: čím neskôr, tým lepšie

Nútite používateľa, aby sa prihlásil alebo zaregistroval do vašej aplikácie hneď po jej stiahnutí a prvom otvorení? To znamená, že zvyšujete šancu, že aplikácia bude okamžite v košíku. Potvrdzujú to štatistiky, takže naša prvá rada: odložte autorizáciu až na moment, keď je skutočne potrebná. Môže to byť odoslanie objednávky alebo vytvorenie komentára. ...

Hlavné spôsoby vstupu do aplikácie, ktoré sú dnes veľmi používané, sú prihlasovacie meno + heslo, sociálne siete, telefón + kód z SMS. Pozrime sa podrobnejšie na prvú z týchto metód.

Prihlasovacie meno + heslo

Ak musí používateľ zadať osobné údaje, našou úlohou je mu tento proces uľahčiť.

Tipy pre vstupné pole

Napríklad v jednoduchých formulároch, ak použijeme obvyklé zadávanie prihlasovacieho mena a hesla, môžeme názvy polí usporiadať do zástupných symbolov, čo je pre používateľa úplne zrejmé. V zložitejšej forme, kde sú obmedzenia na zadávanie údajov, musíme použiť štítky a zástupný symbol, napríklad vysvetlenie dĺžky hesla. Štítky a zástupné symboly je lepšie umiestniť nad vstupné pole, aby bolo používateľovi kedykoľvek zrejmé, čo vypĺňa a ako to má urobiť.

V mobilných aplikáciách nie je osvedčeným postupom umiestňovať štítky na rovnaký riadok ako vstupné pole. To zaberá užitočný horizontálny priestor. Napríklad registračný formulár Lamoda iPhone.

Dva kvalitné články na tému: Zástupné symboly v poliach formulára sú škodlivé, Použiteľnosť formulára v mobile: Nikdy nepoužívajte vložené štítky.

Automatické dopĺňanie

Dokončenie populárnych domén. Knižnica iOS od HotelTonight zrýchľuje zadávanie e-mailov na základe obľúbených e-mailových domén. V systéme Android môžete urobiť to isté manuálne. To všetko príjemne urýchľuje zadávanie e-mailu.

Dokončenie populárnych poštových domén

Automatické dopĺňanie e-mailov pre účty Google. Aplikácia pre Android môže získať zoznam účtov Google na zariadení a ponúknuť používateľovi automatické dokončenie. Robí to napríklad Evernote a Instagram. Môžete konať inak: automaticky vyplňte vstupné pole jedným z emailové adresy... Keďže väčšina používateľov má jeden účet Google, je veľká šanca, že sa nám to podarí. Toto robí Facebook a Twitter. iOS neposkytuje prístup k e-mailu používateľa, takže takéto automatické dopĺňanie nie je možné vykonať.

Automatické dopĺňanie pošty pre účty Google v Evernote

Názov automatického dopĺňania. Na strane servera alebo v aplikácii môžete uložiť základňu obľúbených mien a ponúknuť používateľovi automatické dopĺňanie. V systéme Android opäť môže pomôcť Google+. Toto je však stále nejednoznačný spôsob - koniec koncov, zadávanie mena trvá niekoľko sekúnd a akékoľvek automatické dopĺňanie do určitej miery odvádza pozornosť používateľa.

Automatické dokončenie predtým použitého prihlásenia počas autorizácie. Ak v aplikácii nedochádza k prepínaniu medzi účtami, ako na oficiálnom Twitteri alebo Gmaile, je užitočné pri zadávaní automaticky dopĺňať predtým používané e-maily / prihlásenia. Napríklad Instagram zobrazuje posledné použité prihlásenie. Táto metóda však nie je vhodná pre finančné aplikácie, pretože v nich je dôležitá bezpečnosť. Ak sa používateľ odhlásil z aplikácie, nikto by nemal vedieť, aké prihlásenie použil.

Automatická detekcia ♀ ♂. Aplikácie dokážu určiť pohlavie na základe zadaného mena. Služba genderize.io obsahuje databázu 200 000+ mien, 79 krajín a 89 jazykov. 100 000 žiadostí za mesiac stojí 9 dolárov. Pre obe platformy existuje SDK. V systéme Android sa môžete pokúsiť získať pohlavie z Google účet+ Bohužiaľ, nie je vždy pripevnené používateľom av Rusku sa G + vo všeobecnosti používa málo.

Automatické dopĺňanie adresy urýchľuje zadávanie do pokladničných formulárov, niekedy sa takéto pole nachádza aj v registračnom formulári. Existuje dobrý prehľad o službách, ktoré problém riešia.

Heslá

V aplikácii je ťažké zadať heslo dvakrát. Stačí to urobiť raz a ak bol vstup vykonaný s chybou, používateľ by mal mať možnosť zmeniť / obnoviť heslo.

Pri písaní s bodkami je zvykom skryť heslo. Užitočné je tlačidlo „zobraziť heslo“ – dôležité je najmä na registračnej obrazovke, pokiaľ nepožiadame používateľa o zadanie hesla dvakrát. Toto je zaujímavo implementované v športových sledovačoch Runtastic: zobrazí sa heslo, stlačí sa tlačidlo "oko".

Obnova hesla nie je primárnou úlohou. Väčšina špičkových aplikácií posiela používateľa na webovú stránku, aby to urobil. Obnova nemusí byť samostatná obrazovka, ktorá sa otvorí v prehliadači, možno ju realizovať na prihlasovacej obrazovke pomocou jednoduchých animácií. Skvelé príklady: Airbnb, Tumblr, Runtastic.

Tumblr iOS Password Recovery

Kontrola polí, klávesnice a ponuky

V samotnej prihláške je dôležité skontrolovať správnosť vyplnenia políčok. Overenie na strane servera si vyžaduje čas a obťažuje používateľa. Toto pravidlo platí aj pre kontrolu dostupných prihlasovacích údajov / e-mailov, ktoré by mali fungovať za behu. Dobré príklady sú - Yandex Music, Twitter.

Pre všetkých odlišné typy polia, je dôležité používať vhodné typy klávesnice: iOS, Android. Ak používateľ zadáva poštu, na klávesnici by mal byť znak @, čísla na zadanie čísla atď.

Viete, že ponuku nikto nečíta. Myslím si, že zaškrtávacie políčko súhlasu s ním je zbytočné - odvádza pozornosť používateľa od obsahu. Stačí umiestniť text „registráciou súhlasíte so zásadami ochrany osobných údajov a podmienkami služby“ a zvýrazniť požadované odkazy.

Sociálnej sieť

Toto je najjednoduchší spôsob prihlásenia používateľa: nemusí manuálne vypĺňať prihlasovacie meno a heslo. Je rozumné triediť tlačidlá sociálnych médií podľa frekvencie používania podľa platformy a krajiny. Google+ je pre Android pohodlnejší, väčšina používateľov v Rusku má VK atď. Toto robí Foursquare na Androide.

Po technologickej stránke môžete na implementáciu prihlásenia použiť univerzálne knižnice oAuth alebo oficiálne súpravy SDK sociálnych médií. Oficiálne súpravy SDK majú dôležitú výhodu: autorizujú cez nainštalované aplikácie buď prostredníctvom používateľských účtov v systémové nastavenia... Ak sa používateľ prihlási cez sociálnu sieť, s najväčšou pravdepodobnosťou má nainštalovanú príslušnú aplikáciu.

Ako fungujú oficiálne súpravy SDK

Telefónne číslo a overovací kód

V systéme Android môžete automaticky dopĺňať čísla zo SIM karty, ale toto nefunguje na všetkých zariadeniach, takže musíte brať do úvahy v kóde možné chyby... V praxi som nenašiel aplikácie, ktoré by to robili, ale použitie tejto metódy je celkom prijateľné.

Po zadaní a odoslaní čísla musí užívateľ zadať kód z SMS. Aplikácia pre Android to dokáže automaticky. Túto techniku ​​používajú Viber, Telegram, Rocketbank. Dôležité je len užívateľovi vysvetliť, že SMS príde čoskoro, len treba chvíľu počkať.

Textilné číslice. Twitter má bezplatné predpripravené riešenie na autorizáciu prostredníctvom telefónne číslo... Je to SMS brána + mobilné a webové SDK. Vzhľad rozhranie v určitom rámci možno prispôsobiť. Toto je najjednoduchšie riešenie.

Textilné číslice

Záver

Tu som sa pokúsil načrtnúť všetky myšlienky, ktoré som v poslednom čase sformuloval o prihlasovaní sa do aplikácie a práci s formulármi. Tento príspevok je akýmsi kontrolným zoznamom, dúfam, že vám bude užitočný. Ak máte nejaké otázky, napíšte: [e-mail chránený]