LightOpenID 클래스를 사용하여 내 사이트와 통합 된 Google 로그인을 얻으려고합니다. 이 new LightOpenID($host)
로 new LightOpenID
메소드를 호출하라고 강요, 나는 구조 방법에 대한 인수 1 누락 된 나에게 말하고 있었다, 원래기본 설정에서 오류가 발생하고 유효한 로그인으로 오류를 반환하는 LightOpenID
<?php
require 'includes/openid.php';
try {
if(!isset($_GET['openid_mode'])) {
if(isset($_GET['login'])) {
$openid = new LightOpenID;
$openid->identity = 'https://www.google.com/accounts/o8/id';
header('Location: ' . $openid->authUrl());
}
?>
<form action="?login" method="post">
<button>Login with Google</button>
</form>
<?php
} elseif($_GET['openid_mode'] == 'cancel') {
echo 'User has canceled authentication!';
} else {
$openid = new LightOpenID;
echo 'User ' . ($openid->validate() ? $openid->identity . ' has ' : 'has not ') . 'logged in.';
}
} catch(ErrorException $e) {
echo $e->getMessage();
}
echo '<pre>'.print_r($openid,true).'</pre>';
?>
: 나는 기본 코드를 사용하고 있습니다. 하지만 그 코드를 변경하고 로그인을 시도 했으므로 코드를 되 돌린 후에 오류를 포착하지 못했습니다. 오류를 잡으려고합니다 ...
어쨌든, 제가 호스트를 추가 한 후에는 내 Google 계정으로 사이트에 로그인하고 싶은지 묻는 Google 페이지. 나는 로그인 버튼을 눌렀 만 내가 로그인되지 않았 음을 이야기 할 수 있습니다.
User has not logged in.
LightOpenID Object
(
[returnUrl] => myReturnURL
[required] => Array
(
)
[optional] => Array
(
)
[verify_peer] =>
[capath] =>
[cainfo] =>
[data] => Array
(
[login] =>
[openid_ns] => http://specs.openid.net/auth/2.0
[openid_mode] => id_res
[openid_op_endpoint] => https://www.google.com/accounts/o8/ud
[openid_response_nonce] => 2012-07-23T14:06:24ZQwlS1zWFRdvg6A
[openid_return_to] => myReturnURL
[openid_assoc_handle] => AMlYA9WMwp_rTkH3swNLEF5UASFvhyOR-kqVSXGe7cvXe7ws5z8HHWUu
[openid_signed] => op_endpoint,claimed_id,identity,return_to,response_nonce,assoc_handle
[openid_sig] => NtOEY8dUM1Hpt2tTR9x0RdN5o1c=
[openid_identity] => https://www.google.com/accounts/o8/id?id=AItOawkXNCi5qq-3Vj_esgSQAwmEN_nVIC8BHAQ
[openid_claimed_id] => https://www.google.com/accounts/o8/id?id=AItOawkXNCi5qq-3Vj_esgSQAwmEN_nVIC8BHAQ
)
[identity:LightOpenID:private] =>
[claimed_id:LightOpenID:private] => https://www.google.com/accounts/o8/id?id=AItOawkXNCi5qq-3Vj_esgSQAwmEN_nVIC8BHAQ
[server:protected] => https://www.google.com/accounts/o8/ud
[version:protected] => 2
[trustRoot:protected] => mySite
[aliases:protected] =>
[identifier_select:protected] =>
[ax:protected] => 1
[sreg:protected] =>
[setup_url:protected] =>
[headers:protected] => Array
(
[cache-control] => no-cache, no-store, max-age=0, must-revalidate
[pragma] => no-cache
[expires] => Fri, 01 Jan 1990 00:00:00 GMT
[date] => Mon, 23 Jul 2012 14:06:26 GMT
[content-type] => text/plain; charset=UTF-8
[x-content-type-options] => nosniff
[x-frame-options] => SAMEORIGIN
[x-xss-protection] => 1; mode=block
[server] => GSE
)
)
이미 구글에 로그인되었으며, 구글 페이지에 로그인 할 때 묻지 않은, 그래서 바로 다시 찍은 내 Google 계정을 사용하여 내 웹 사이트에 로그인하고 싶었는지 확인하십시오. 누구나 내가 왜 로그인했는지 말하는 이유가 보이지 않습니까? 사전에
감사합니다.
감사 :
그냥 라이브러리의 최신 버전이 생성자의 인수를 필요로 기억 해요. 그게 내가 필요한거야. 그래도 이미 호스트 이름이 필요했기 때문에 중간 또는 무언가가 있었음에 틀림 없습니다. 다시 한번 고마워. – James