Question

Google ont un utilisateur très agréable et sympathique connexion OpenID fédérée avec la découverte des terminaux automagique:

Il est implémenté en Java Servlets, est-il un équivalent PHP qui peut être utilisé conjointement avec php-openid?

Le mécanisme de découverte, XRDS, est couvert dans le document suivant:

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

Il semblerait quelque chose comme « Les XRDS-simples de Diso » devraient fonctionner, mais les tests de base ne fournit pas des résultats utiles.

  • code.google.com/p/diso /

Merci,

Était-ce utile?

La solution

Ok je l'ai trouvé est relativement simple de modifier le XRDS-simple mise en œuvre pour soutenir le mécanisme de découverte de l'hôte Meta Google. La mise en garde étant c'est un mécanisme de découverte expérimentale au sein de l'espace de noms de Google et devrait changer quelque temps plus tard à quelque chose de plus adapté à un système globalement indépendant.

Patch pour XRDS-simple:

Exemple d'utilisation pour trouver l'URL d'identité pour alimenter PHP-OpenID:

<?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";
}

?>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top