LightOpenId не перенаправляет на страницу входа - PullRequest
1 голос
/ 30 марта 2011

Может кто-нибудь, пожалуйста, помогите мне заставить это работать.

Проблема в том, что он просто присоединяет строку запроса к URL-адресу и все.Нет входа в Google!

http://domain.nl/controller/function?action=verify&openid_identifier=https%3A%2F%2Fwww.google.com%2Faccounts%2Fo8%2Fid

Возможно, это что-то конкретное, например, тот факт, что я использую дизайн mvc и файл htaccess.

Решение сейчас мне не понятно.

Пожалуйста, направьте меня в правильном направлении

Спасибо, Ричард

В контроллере .... Это функция, на которую указывает форма

public function openid(){

        try {
    $openid = new LightOpenID;
    if(!$openid->mode) {
        if(isset($_GET['action'])) {
            $openid->identity = 'https://www.google.com/accounts/o8/id';
              //$openid->identity = 'https://www.google.com/accounts/o8/site-xrds?hd=YourDomain.in'; //this can be changed as you know...  
            header('Location: ' . $openid->authUrl());
        }
/*<form action="?login" method="post">
    <button>Login with Google</button>
</form>*/

    } elseif($openid->mode == 'cancel') {
        echo 'Gebruiker heeft authenticatie geannuleerd!';
    } else {
        echo 'Gebruiker ' . ($openid->validate() ? $openid->identity . ' heeft ' : 'heeft niet ') . 'ingelogd.';
    }
} catch(ErrorException $e) {
    echo $e->getMessage();
}

    }

1 Ответ

1 голос
/ 02 апреля 2011

Похоже, что перенаправление не работает.Проверьте, возвращает ли $openid->authUrl() правильное значение.Если это так, то проблема не имеет ничего общего с LightOpenID.

Кроме того, если вы планируете использовать site-xrds с аутентификацией Google, обязательно включите следующий заголовок в документ, возвращаемый http://your.domain/openid:

header('X-XRDS-Location: https://www.google.com/accounts/o8/site-xrds?hd=your.domain');

В противном случае проверка не будет выполнена.

...