LightOpenID не возвращает идентификатор или адрес электронной почты, хотя URL отображает оба - PullRequest
0 голосов
/ 19 июля 2011

Я использую шаблон MVC и LightOpenID для получения данных для входа, но $openid->mode и $openid->validate() стали недействительными после строки header('Location: ' . $openid->authUrl());

Вот код:

<?php
session_start();
try {
    # Change 'localhost' to your domain name.
    $openid = new LightOpenID('localhost:81');

    if(!$openid->mode) {
        if(isset($provider)) {
            switch ($provider) {
                case 'google':
                    $openid->identity = 'https://www.google.com/accounts/o8/id';
                    break;
                case 'yahoo':
                    $openid->identity = 'https://me.yahoo.com ';
                    break;
            }
            $openid->required = array('namePerson/friendly', 'contact/email');
            $openid->returnUrl = 'http://localhost:81/test/';
            header('Location: ' . $openid->authUrl());
            //All return variables became NULL here.
        }
    } elseif($openid->mode == 'cancel') {
        echo 'User has canceled authentication!';
    } else {
        if ($openid->validate()) {
            $returnVariable = $openid->getAttributes();
            //echo $returnVariable['contact/email'];
            $_SESSION['email'] = $returnVariable['contact/email'];
        }
    }
} catch(ErrorException $e) {
    echo $e->getMessage();
}

Может ли кто-нибудь мне помочь?

Большое спасибо

PlayKid

...