Frage

Google hat eine sehr schöne benutzerfreundliche föderierten OpenID-Anmeldung mit Automagic Endpunkt Entdeckung:

Das in Java Servlets implementiert ist, ist es ein PHP-äquivalent, die in Verbindung mit PHP-openid verwendet werden können?

Die Entdeckung Mechanismus, XRDS wird in folgendem Dokument behandelt:

  • groups.google.com/group/google-federated-login-api/web/openid-discovery-for-hosted-domains

Es scheint so etwas wie „DiSo des XRDS-Simple“ sollte funktionieren, aber grundlegende Tests liefern keine brauchbaren Ergebnisse.

  • code.google.com/p/diso /

Danke,

War es hilfreich?

Lösung

Ok fand ich es relativ einfach, die XRDS-Einfache Implementierung zu ändern Google-Host-Meta Discovery-Mechanismus zu unterstützen. Der Nachteil ist, dies ist ein experimentelle Entdeckung Mechanismus innerhalb der Google-Namespace und soll irgendwann später etwas besser geeignet für ein global unabhängiges System ändern.

Patch für XRDS-Ganz einfach:

Beispiel für die Verwendung für die Suche nach Identität URL in PHP-OpenID zu füttern:

<?php

require_once 'XRDS.php';
require_once 'XRDS/Discovery.php';

$domain = 'google.com';

$disco = new XRDS_Discovery();
$disco->discovery_methods = array('XRDS_Discovery_Host_Meta');
$xrds = $disco->discover('https://www.google.com/accounts/o8/.well-known/host-meta?hd=' . $domain);

$xrd = $xrds->xrd[0];
$identityUri = $xrd->service[1]->uri[0]->uri;

if (0 == strcmp($xrd->canonicalId, $domain)) {
    echo "identity uri: $identityUri\n\n";
} else {
    echo "discovery failed.\n\n";
}

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