Autorisasjon gjennom sosiale nettverksprofiler. Logg inn med sosiale nettverk. Hvordan fungerer sosial pålogging?

I ganske lang tid nå har mange nettsteder gitt, sammen med standard autorisasjon, autorisasjon gjennom sosiale nettverk og nettjenester. Du har et valg:

  1. Gå gjennom en relativt lang registreringsprosess – skriv inn e-post/passord/captcha og aktivering på e-post.
  2. Bare klikk på ikonet for det sosiale nettverket der du har en konto og bekreft tilgang.
Hvorfor ikke forlate standardregistreringsmekanismen helt? Dette er forresten akkurat den tilnærmingen som er implementert i on(X) webtjenesten fra Microsoft – autorisasjon kun gjennom Facebook.

Men ikke alt er så rosenrødt som det kan virke ved første øyekast. La oss fremheve de positive og negative aspektene ved sosial autorisasjon, med tanke på det faktum at vi helt kommer til å forlate registreringen ved å bruke kombinasjonen e-post/passord.

Fordeler:

  • Rask autorisasjon på siden.
  • Brukerdata fra autorisasjonsleverandøren.
  • Ingen passord.
  • Mangel på kontoaktivering.
  • Det eneste skjemaet er autorisasjonsskjemaet.
Feil:
  • Noen autorisasjonsleverandører gir ikke e-post.
  • Ulike formater for oppgitte brukerdata.
  • Publikumspreferanser.
  • Du kan glemme hvilken tjeneste du brukte for autorisasjon.

Fordelene ved denne tilnærmingen er klare. Vi er mer interessert i manglene og måter å løse dem på.

Feil

Noen autorisasjonsleverandører gir ikke e-post
Ja, den viktigste informasjonen vi trenger å vite om brukeren er kanskje ikke tilgjengelig hos enkelte leverandører. Spesielt VKontakte og Odnoklassniki gir det ikke i det offentlige API. Facebook og Google er mer lojale mot e-postadresser og vil, med hjelp av visse tillatelser, returnere denne informasjonen til deg.
Løsning:
  1. En av de populære løsningene på problemet er å bare spørre brukeren etter autorisasjon. Dette vil legge til ytterligere dialog og du må gå gjennom aktiveringsprosedyren.
  2. Avhengig av målgruppen, nekte autorisasjonsleverandører som ikke gir e-post.
  3. Ikke bruk en e-postadresse. Igjen, ikke overalt kan du så lett forlate nesten det eneste middelet for tilbakemelding fra brukere. La oss si sosialt VKontakte-nettverket bruker et mobiltelefonnummer for registrering. Her må du tenke på hvordan brukeren vil gjenopprette tilgangen til nettstedet hvis han sletter kontoen sin på det sosiale nettverket.
Ulike formater for oppgitte brukerdata
Noen ganger trenger du å vite litt mer om en bruker enn bare deres sosiale medie-ID. nettverk. Slike data kan inkludere: fornavn, etternavn, kallenavn, kjønn, avatar, fødselsdato. Siden OAuth- og OpenID-protokollene ikke er designet for å innhente data om brukeren, må du bruke API-en til hver spesifikke tjeneste, og de returnerte dataene vil være forskjellige overalt. Spesielt gir autorisasjonsleverandørene Google, Vkontakte, Facebook og Odnoklassniki alle de ovennevnte dataene. Det gjenstår bare å behandle dem.
Løsning: hvis du virkelig trenger ytterligere data om brukeren, be om det fra autorisasjonstjenesten. Hvis du trenger enda mer spesifikke data, be brukeren om å legge det inn selv etter autorisasjon.
Målgruppeinnstillinger
Vel, nå har vi kommet til det mest problematiske spørsmålet - vil ikke et slikt avslag på standardregistrering ta motet fra målgruppen din? Min mening om denne saken er denne: selv om en person absolutt ikke ønsker å logge inn gjennom sosiale tjenester, men det ikke finnes alternativer til tjenesten din, vil han til slutt gi opp. Jeg følger personlig denne algoritmen: hvis jeg planlegger å bruke en bestemt tjeneste i fremtiden, registrerer jeg meg definitivt der ved å bruke pålogging og passord. Hvis siden ikke har en slik mulighet, så vil jeg logge inn gjennom sosiale medier. nettverk.
Selv om brukeren ikke er på sosiale nettverk, må han ha en e-postkonto for gmail, mail.ru eller andre tjenester. Derfor er tilfellet der brukeren rett og slett ikke har en enkelt konto med de leverte autorisasjonstjenestene usannsynlig.
Du kan glemme hvilken tjeneste du brukte for autorisasjon
Hvis ressursen din lar deg logge inn gjennom over 9000 leverandører, og brukeren har minst 2 kontoer hos disse leverandørene, kan han ganske enkelt glemme hvilken spesifikk metode han brukte for å logge inn på nettstedet. Ved feil vil det bli opprettet en ubrukelig registrering av en ny registrering i databasen.
Løsning: registrer autorisasjonstjenesten i informasjonskapsler og marker den på påloggingssiden. Dette kan utgjøre en slags sikkerhetsrisiko, men jeg kan ikke umiddelbart komme på en måte å dra nytte av det seriøst.

Konklusjon

Ideen om å gi opp vanlig registrering er veldig fristende, men alt avhenger av om du kan bli kvitt problemene som er beskrevet.

P.S. Du kan lese litt statistikk fra uLogin

Bruke en sosial nettverkskonto VKontakte, Odnoklassniki, Mail.ru, Facebook, Twitter eller Google, du kan logge på Yandex uten å registrere deg eller skrive inn et passord. For å gjøre dette, klikk bare på logoen til det sosiale nettverket ditt på skjemaet:

Eksempel på autorisasjon via Facebook

Etter å ha klikket på logoen, åpnes et nytt vindu der den videre autorisasjonsprosessen på Yandex vil finne sted. Etter at du har gått gjennom trinnene nedenfor for første gang, vil du kunne logge på Yandex med ett klikk på denne logoen.


Den brukte Facebook-kontoen vil vises på siden i Yandex.Passport, og navnet mottatt fra det sosiale nettverket vil vises på Yandex-tjenester.

Spørsmål og svar

Hvorfor opprette et brukernavn og passord på Yandex?

En Yandex-pålogging og passord kan være nødvendig for å få tilgang til enkelte tjenester - for eksempel for å bruke Mail eller Disk.

Hva skal jeg gjøre hvis jeg har glemt passordet til det sosiale nettverket mitt og ikke kan logge på Yandex-tjenester?

Slik forteller du en Yandex-støttemedarbeider din pålogging

Hvis en Yandex-støttemedarbeider trenger påloggingen din for å løse et problem, og du ikke har opprettet en pålogging ennå, er det bare å kopiere nummeret fra siden.



Er autorisasjon via et sosialt nettverk trygt?

I tillegg kan du når som helst blokkere Yandex tilgang til profilen din: bare slett den fra siden.

Noen brukere angrer på at ingen ennå har oppfunnet sosiale nettverk uten registrering. Slike prosjekter vil ha mange fordeler, men også mange ulemper. Og viktigst av alt, ingen ville være i stand til å opprettholde sin egen side. Det er av denne grunn at ingen oppretter dem, men om nødvendig kan du bruke dem uten å registrere deg.

Du kan bruke alle lignende nettverk. Selvfølgelig vil funksjonaliteten være begrenset, men det er enkelt å finne en person, sjekke når han var online eller se en video. Dette krever ikke programmer eller nettleserutvidelser; åpen tilgang er gitt til alle.

Hvordan logge på VKontakte eller Odnoklassniki uten registrering?

Hvis hovedoppgaven med å bytte til sosiale. nettverk uten å registrere - dette er et søk etter folk, det er mye lettere å bruke en spesiell tjeneste fra Yandex. Følg lenken yandex.ru/people og du vil bli tatt til et spesielt søk etter personer. Bare skriv inn for- og etternavnet ditt for å få listen:

For å gjøre søket mer nøyaktig, kan du legge inn tilleggsdata og velge spesifikke sosiale nettverk. På Odnoklassniki, og i mange andre sosiale nettverk, er sider ikke skjult for uregistrerte brukere, så åpne hvilken som helst profil:

På samme måte kan du søke i andre sosiale nettverk. nettverk. Når du bruker VKontakte, trenger du ikke bytte til Yandex.People. Der er brukersøk åpent for alle. Skriv inn vk.com/search i adressefeltet og siden du trenger åpnes:

I hovedlinjen kan du spesifisere for- og etternavn, og tilleggsdata kan legges inn via sidepanelet:

Noen mennesker har sider skjult for offentlig tilgang, men oftest er de offentlige. Derfor kan du enkelt se bilder, videoer, veggposter, status og mye mer.

Odnoklassniki uten registrering

Bare gå til denne siden og på hovedsiden vil du se populære innlegg og videoer:

Uten å registrere deg kan du gå til et hvilket som helst fellesskap og se innlegg. Når du prøver å skrive en kommentar eller bli med i en gruppe, blir du ført til en påloggingsside.

Besøk sosiale nettverk, til tross for de begrensede funksjonene, vil du fortsatt kunne se profiler og nesten alt innhold. Hvis dette ikke er nok for deg, men du ikke ønsker å bruke profilen din, er det beste alternativet å opprette en ekstra side. Har du ikke et gratis telefonnummer? Kjøp en ferdig konto på Buyaccs.com. Denne nettbutikken selger profiler fra nesten alle sosiale nettverk. nettverk:

Kostnaden avhenger av hvor full kontoen er og hvor mange venner det er på den. Du kan betale på alle måter, fra bankkort, elektroniske penger, og til og med overføre fra telefonsaldoen din (via Robokassa). Ved å bruke litt penger vil du få en profil og kunne bruke sosiale nettverk uten registrering.

Nettsteder som VKontakte, Odnoklassniki, Facebook og Twitter brukes til ulike formål, men vi må ikke glemme at de alle er egnet for fjernarbeid. Finn ut og bruk dem ved å følge enkle trinn, du kan enkelt få litt penger til å kjøpe kontoer til deg selv eller betale for mobilkommunikasjon.

I denne håndboken vil vi se på hvordan du setter opp autorisasjon gjennom følgende sosiale nettverk:

Hvis du vil lage din egen brukerautentiseringsapp, følg instruksjonene nedenfor. Når du ber om autorisasjonstillatelse, vil dette tillate deg å vise logoen og nettstedsnavnet i stedet for standardverdiene:

I kontakt med

Klikk på "Opprett applikasjon"-knappen. Påloggingssiden for VKontakte-kontoen åpnes:

Kom opp med et navn for applikasjonen og klikk på "Opprett"-knappen. På den nye siden oppgir du detaljert informasjon om applikasjonen. Det vil vises når brukere registrerer seg (be om tillatelser):

Etter å ha lagret endringene, gå til applikasjonsinnstillingene og kopier "Application ID" og "Secure Key":

Spesifiser de kopierte verdiene i nettstedets kontrollpanel og klikk på "Lagre"-knappen:

Gå nå tilbake til applikasjonsinnstillingene på VKontakte-nettstedet og fyll inn dataene:

  • "Åpne API" - aktivert;
  • "Site Address" og "Base Domain" - ditt tilknyttede domene.

Applikasjonen er klar til bruk. Logg på ved hjelp av det sosiale nettverket VKontakte og sjekk hvordan dataene som er spesifisert i applikasjonen vises.

Facebook

Klikk på "Opprett en applikasjon"-knappen og på siden som åpnes, logg inn på din personlige konto på Facebooks sosiale nettverk.

Klikk deretter på "Registrer"-knappen:

For å registrere deg må du bekrefte kontoen din ved å skrive inn telefonnummeret ditt:

Fyll ut søknadsskjemaet og klikk på "Opprett søknads-ID"-knappen:

Kopier "Application ID" og "Application Secret". De må spesifiseres i områdets kontrollpanel i henholdsvis "Client ID" og "Client secret"-feltene:

Fra kontrollpanelet, kopier "Omdiriger URIer":

Nå på Facebook-utviklernettstedet, velg "Innstillinger" i venstremenyen og på siden som åpnes, gå til fanen "Avansert":

På siden finner du «Gyldige OAuth-viderekoblingsadresser» og limer inn nettadressen du fikk tidligere i feltet:

Yandex

Klikk på "Opprett en applikasjon"-knappen og på siden som åpnes, logg på din Yandex personlige konto. Etter autorisasjon fyller du ut det nye søknadsskjemaet:

Angi følgende tillatelser for applikasjonen:

  • Tilgang til fødselsdato;
  • Tilgang til e-postadresse;
  • Tilgang til pålogging, for- og etternavn, kjønn.

Kopier "Callback URI" fra nettstedets kontrollpanel, spesifiser den i "Callback URL"-feltet i applikasjonen og klikk på "Lagre"-knappen:

Kopier applikasjons-ID og passord:

Skriv inn denne informasjonen i nettstedets kontrollpanel:

Applikasjonen er klar til bruk.

Google+

Klikk på "Opprett en applikasjon"-knappen og på siden som åpnes, logg på din personlige konto for det sosiale nettverket Google+.

Velg «Google+ API» på siden som åpnes:

For å aktivere API, må du opprette et prosjekt. Klikk på "Opprett prosjekt"-knappen:

Fyll ut prosjektskjemaet, godta vilkårene for bruk, og klikk deretter på "Opprett"-knappen:

Nå kan du aktivere API:

Og begynn å lage applikasjonen:

Oppretting av en applikasjon består av fire trinn:

1. Velg type legitimasjon:

2. Opprett en OAuth 2.0-klient-ID, spesifiser domeneadressen og tillatt omdirigerings-URI (kopiert fra kontrollpanelet):

3. Fyll inn informasjon om applikasjonen - den vil bli vist til brukeren under registreringen:

4. Klikk "Fullfør":

Vår søknad er klar til bruk. La oss gå til siden hans. For å gjøre dette, klikk på "Påloggingsinformasjon" i venstre kolonne og velg et program fra listen:

Kopier klient-ID-en og hemmeligheten for å indikere dem i nettstedets kontrollpanel:

Twitter

Klikk på "Opprett en applikasjon"-knappen og på siden som åpnes, logg inn på din personlige konto på det sosiale nettverket Twitter. For å opprette en applikasjon må du skrive inn og bekrefte telefonnummeret ditt (

Det er nyttig spesifikk informasjon om den tekniske implementeringen.

Og kort fortalt...

For autorisasjon og registrering brukes den samme "brukere"-tabellen. Sammen med normal registrering og autorisasjon, når brukerens e-postadresse, passord og pålogging under registrering (i sin enkleste form) legges til i "brukere"-tabellen, og under autorisasjon er korrespondansen mellom innlogging og passord med de som finnes i databasen. merket, brukes den på lignende måte og registrering/autorisasjon gjennom sosiale nettverk. Bare i dette tilfellet er kilden til data om brukeren for registreringen ikke den direkte brukeren som legger inn dataene i skjemaet, men det sosiale nettverket. nett. Registrering i dette tilfellet er ganske gjennomsiktig, dvs. ikke synlig for brukeren. Opplegget er omtrent som følger (uten særegenhetene til Oauth-protokollen):


1) Brukeren velger pålogging via sosiale medier. nett.
2) Det er et anrop til autorisasjonssiden i dette sosiale nettverket. nettverk, hvis personen ennå ikke har logget på der. Etter å ha lagt inn dataene, og hvis han tidligere var autorisert, blir det bedt om tillatelse til å bruke dataene hans.
3) Hvis en person nekter, så er det slutten. Hvis han samtykker, blir han omdirigert til sidesiden som er spesifisert i Oauth-innstillingene.
4) Hver bruker på sosiale medier nettverk har sin egen unike identifikator som kan etterspørres. For "brukere"-tabellen må du legge til et par ekstra felt (for eksempel som disse): auth_via (enum("native, "vk", "mailru", "...")) - for å indikere typen av brukerregistrering, og social_id - en unik identifikator i det sosiale nettverket vil bli lagret her Hvis du trenger å lagre noen spesifikke data om denne brukeren fra sosiale nettverk, kan du opprette flere felt for disse dataene.
5) Etter at brukeren har gitt tillatelse til å bruke dataene sine, er det nødvendig å be om de nødvendige dataene fra det sosiale nettverket. nettverk, inkl. og bruker-ID i sosiale medier. nettverk. Det er her den usynlige registreringsprosessen begynner. Du må sjekke om det er en bruker med denne social_id i databasen, hvis ikke, så sett inn social_id, brukerens data fra det sosiale nettverket. nettverk, om nødvendig, i databasen. Det er det, brukeren er registrert.
Hvis det er data om brukeren, må du be om aktuelle data fra sosiale medier. nettverk, sammenlign dem med de i databasen og hvis de har endret seg, oppdater dem i databasen din; hvis ikke, fortsett bare til neste trinn.
6) En økt med brukerdata opprettes.

Dermed er den eksisterende tabellen med "native" registrering av nettstedsbrukere relativt sett slått sammen med en tabell med felter som er nødvendige for registrering/autorisasjon gjennom sosiale medier. nettverk., og de forstyrrer ikke hverandre.

For en bruker registrert fra sosiale medier. Naturligvis er det ingen nettverkspassord og pålogging. De er nødvendige for autorisasjon. Og fordi Brukeren logger på med sin sosiale pålogging og passord. nettverk, så er det ingenting å indikere her. Og likevel, under autorisasjonen, kan du legge til en betingelse i forespørselen om pålogging og passordbekreftelse

"OG HVOR `auth_via`="native""

For å ekskludere brukere registrert fra sosiale nettverk. nettverk.

Som du kan se, opprettes en intern (intrasite, så å si) primær, auto-inkrementerende nøkkel for hver bruker i tabellen. Følgelig er det ingen forskjell for nettstedslogikken mellom en bruker registrert gjennom sosiale medier. nettverk og gjennom nettsiden. Hvis vi snakker om en nettbutikk, kan du bruke en enkelt intern ID for å knytte bestillinger til en bruker.