Frage

Was ist der einfachste Weg, um eine E -Mail -Adresse von einem OpenID -Anbieter anzufordern?

Gibt es eine gute PHP -Bibliothek, die dieses Problem vereinfacht?

Ich weiß, dass Anbieter die Dinge anders umsetzen. Ich habe gehört, dass Sie sowohl einfache Registrierung als auch Attributaustausch durchführen müssen. Ich möchte besonders sicherstellen, dass es mit den größten Anbietern wie Myopenid und Google funktioniert.

Verwandte, aber unzureichende Fragen:

War es hilfreich?

Lösung

Janrain hat a Open -ID -PHP -Bibliothek, Eine der ersten Bibliotheken (glaube ich) von einem Unternehmen, das zentriert ist, auf OpenID. Sie haben erwähnt, mit Myopenid zu arbeiten, die Janrain's Site.

Das heißt, ich persönlich benutze jetzt die Zend -Bibliothek (ich habe vor Jahren mit der Janrain -Bibliothek gespielt), nur weil ich mich im Allgemeinen mit dem Zend -Framework entwickle.

Hier sind einige Code -Beispiele, wenn der Anbieter das verwendet OpenID einfache Registrierungsverlängerung.

Dies Abschnitt der Zend -Referenz Handbuch zeigt, wie Sie Benutzerinformationen mit der Authentifizierungsanforderung anfordern. Hier ist der Beispielcode, der für Ihre Bedürfnisse bearbeitet wurde:

//require e-mail, get nickname and fullname if available
$sreg = new Zend_OpenId_Extension_Sreg(array(
    'nickname'=>false,
    'email'=>true,
    'fullname'=>false), null, 1.1);
$consumer = new Zend_OpenId_Consumer();
if (!$consumer->login($openid, $returnUrl, null, $sreg)) {
    die("OpenID login failed.");
}

Das Gleiche mit der Janrain -Bibliothek ist ähnlich. Hier ist ein Code aus der Datei try_auth.php des Bibliothekspakets (ich habe ihn bearbeitet, um die grundlegenden Funktionen anzuzeigen, nach denen Sie suchen):

$auth_request = $consumer->begin($openid);
$sreg_request = Auth_OpenID_SRegRequest::build(
                                 // Required
                                 array('email'),
                                 // Optional
                                 array('fullname', 'nickname'));
$auth_request->addExtension($sreg_request);

Zum Attributaustausch Schauen Sie sich das Janrain an Auth_openid_ax Klassen, in der Zend -Bibliothek gibt es eine Feature -Anfrage für AX -Support.

Andere Tipps

Ich würde mich ansehen OpenID -Bibliothek von Zend Framework, Zend_openid. Sie sollten es ohne das gesamte Framework verwenden können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top