Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

OpenId hoe binnenkomende user linken aan lokale user?

Pagina: 1
Acties:

  • Rekcor
  • Registratie: Februari 2005
  • Laatst online: 08-10 13:03
Ik probeer mijn eerste OpenId consumer applicatie te maken, maar ik loop tegen het volgende probleem aan: Hoe kan ik een binnenkomende succesvolle OpenId-login linken aan mijn lokale user?

In de FM van JanRain staat dat ik de 'identifier' moet gebruiken.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
Parse the response and extract the identifier.
    Here's a sample JSON response:

{
  'stat': 'ok',
  'profile': {
    'identifier': 'http://user.myopenid.com/',
    'email': 'user@example.com',
    'preferredUsername': 'Joe User'
   }
}

Use the identifier as the unique key to sign the user in to your website, and then redirect the user to the appropriate location.


Maar als ik inlog met mijn Google en vervolgens met mijn Facebook, krijg ik verschillende identifiers terug. Hoe kan mijn app dan weten dat ik het ben?

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 22-11 13:46

Janoz

Moderator Devschuur®

!litemod

Denk eens even goed na. Waarom zou dat dezelfde ID moeten zijn? Waar zou bepaald moeten zijn welke google identiteit overeen komt met welke facebook identiteit?

Kortom. Je app kan niet (automatisch) weten dat dat dezelfde persoon is. De enige manier om dat te weten te komen is door de gebruiker meerdere identifiers aan zijn account te laten koppelen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

Je krijgt het emailadres bij de OK. Dat mailadres staat ook in jouw database. Dan weet je wie het is, en kan je die als ingelogd beschouwen met een eigen ID en nickname...

Ey!! Macarena \o/


  • Cartman!
  • Registratie: April 2000
  • Niet online
Iemand maakt met methode X een account aan en daar sla jij dan het ID van op (bijv. een e-mailadres, facebook ID, twitter ID, Open ID) en iemand kan dan daar nieuwe methoden aankoppelen zoals Janoz al zegt. Intern werk je gewoon met een eigen ID zodat de enige stap is om de gekozen methode de user in jouw database ophaalt.

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
RaZ schreef op vrijdag 28 februari 2014 @ 16:39:
Je krijgt het emailadres bij de OK. Dat mailadres staat ook in jouw database. Dan weet je wie het is, en kan je die als ingelogd beschouwen met een eigen ID en nickname...
En gelukkig kan een persoon niet meerdere e-mailadressen hebben noch deze spoofen.
Oftewel: vertrouw dit nooit, het is een "bad practice"

Janoz geeft het enige goede antwoord

[ Voor 4% gewijzigd door DJMaze op 02-03-2014 17:25 ]

Maak je niet druk, dat doet de compressor maar


  • Rekcor
  • Registratie: Februari 2005
  • Laatst online: 08-10 13:03
Denk eens even goed na. Waarom zou dat dezelfde ID moeten zijn? Waar zou bepaald moeten zijn welke google identiteit overeen komt met welke facebook identiteit?
Inderdaad, vandaar ook mijn vraag hoe dit te implementeren. Ik dacht dat je met OpenId altijd dezelfde digitale identiteit hebt, ongeacht de OpenId provider.

Dus je verwacht dat een gebruiker met OpenId altijd dezelfde provider gebruikt voor een bepaalde app. Mocht hij de ene keer Google willen gebruiken en de andere keer provider X, dan moeten in mijn app beide identifiers gekoppeld worden aan de interne account van de gebruiker.

Dank!
Pagina: 1