Google Gadget LightOpenID kullanma

0 Cevap php

Ben bir google gadget oluşturma. Ben tek oturum açma authenication yardımcı olmak için aracın içine LightOpenID kütüphane kullanmaya çalışıyorum. Ben tarayıcısını kullanarak php sayfaya erişmek eğer iyi çalışır, ama ben düğme "Google ile giriş" tıklayarak, gadget denemek eğer gadget tuval boş gösterecektir yapacaktır.

Ben Google Gadget header('Location'.$openid->authUrl()) destek değil bir ilgisi olduğunu düşünüyorum, ama ben de emin değilim. Ben sizler beni bu aşmanın bir yolunu bulmanıza yardımcı olabilir umuyoruz.

Ben 0,4 lightopenid kullanıyorum.

Şimdiden teşekkürler, beyler!

İşte benim Gadget XML kodu:

<?xml version="1.0" encoding="UTF-8" ?>
<Module>
   <ModulePrefs
      title="test"
   >
      <OAuth>
         <Service name="google">
            <Access url="https://www.google.com/accounts/OAuthGetAccessToken" method="GET" />
            <Request url="https://www.google.com/accounts/OAuthGetRequestToken?scope=http://www.google.com/m8/feeds/" method="GET" />
            <Authorization url="https://www.google.com/accounts/OAuthAuthorizeToken?oauth_callback=http://oauth.gmodules.com/gadgets/oauthcallback" />
         </Service>
      </OAuth>
   </ModulePrefs>
   <Content type="url" href="http://www.deafnetvrs.com/2.0/source/gadgets/onevrs/example.php"/>
</Module>

Ve burada LightOpenID kullanarak benim PHP dosyası bulunuyor:

<?php
# Logging in with Google accounts requires setting special identity, so this example shows how to do it.
require 'lightopenid/openid.php';

try {
   $openid = new LightOpenID;
   if(!$openid->mode) {
//      //if(isset($_GET['login'])) {
      if(empty($_GET['login'])){
         $openid->identity = 'https://www.google.com/accounts/o8/id';
         $openid->required = array('contact/email', 'namePerson/first', 'namePerson/last');
         $_GET['login'] = true;
         header('Location: ' . $openid->authUrl());
      }
   }
?>
<html>
<body>
<style type="text/css">
#testDiv {
   background-color: #FFFFFF;
}
</style>
<div id="testDiv">
<?php
   if($openid->mode == 'cancel') {
        echo 'User has canceled authentication!';
         $_GET['login'] = false;
   } else {
      $_GET['login'] = true;
//   if($openid){
      echo("openid ok<br/>");
      $retVal = $openid->validate();
      if($retVal){
         $userAttributes = $openid->getAttributes();
         $firstName = $userAttributes['namePerson/first'];
         $lastName = $userAttributes['namePerson/last'];
         $userEmail = $userAttributes['contact/email'];
         echo 'Your name: '.$firstName.' '.$lastName.'<br />';
         echo("Your email address is: ".$userEmail."<br/>");
         echo("Is logged in? ".$_GET['login']."<br/>");
         //echo '<pre>';
         //print_r($openid);
         //print_r($openid->getAttributes());
         //echo '</pre>';
      } else {
         echo('Failed to login.');
      }
   }
} catch(ErrorException $e) {
   echo $e->getMessage();
}
?>
</div>
</body>
</html>

0 Cevap