0
OpenId를 사용하는 PHP 코드가 있는데, 그 사람이 내 Google 사이트에 로그인하는 데 Google ID가 작동하는지 확인한 후에 실행됩니다. 그 확인 위도/LNG의 경우 possible..if하지 - 성 - - 성 - 이메일 OpenId 로그인 후 사용자의 자격 증명을 얻는 방법?
나는 같은 기본 자격 증명을 추출 할 수 있어야합니다.
는이 코드를 가지고,하지만 난 등, 이름/이메일을하는 방법을 잘 모르겠습니다 여기
<?php
require_once "common.php";
session_start();
function escape($thing)
{
return htmlentities($thing);
}
function run()
{
$consumer = getConsumer();
var_dump($consumer);
echo '<p>test 2</p>';
// Complete the authentication process using the server's
// response.
$return_to = getReturnTo();
var_dump($return_to);
echo '<p>test 3</p>';
$response = $consumer->complete($return_to);
var_dump($response);
echo '<p>test 4</p>';
// Check the response status.
if ($response->status == Auth_OpenID_CANCEL)
{
// This means the authentication was cancelled.
$msg = 'Verification canceled.';
echo '<p>Canceled</p>';
}
else
if ($response->status == Auth_OpenID_FAILURE)
{
echo '<p>Open Id Failure</p>';
// Authentication failed; display the error message.
$msg = "OpenID authentication failed: " . $response->message;
}
else
if ($response->status == Auth_OpenID_SUCCESS)
{
echo '<p>SUCCESS</p>';
// This means the authentication succeeded; extract the
// identity URL and Simple Registration data (if it was
// returned).
$openid = $response->getDisplayIdentifier();
var_dump($openid);
$esc_identity = escape($openid);
$success = sprintf('You have successfully verified ' .
'<a href="%s">%s</a> as your identity.',
$esc_identity, $esc_identity);
if ($response->endpoint->canonicalID)
{
$escaped_canonicalID = escape($response->endpoint->canonicalID);
$success .= ' (XRI CanonicalID: '.$escaped_canonicalID.') ';
}
$sreg_resp = Auth_OpenID_SRegResponse::fromSuccessResponse($response);
$sreg = $sreg_resp->contents();
var_dump($sreg);
echo '<p>test sreg</p>';
if (@$sreg['email'])
{
$success .= " You also returned '".escape($sreg['email']).
"' as your email.";
echo $success;
}
else
{
echo '<p>Not email success</p>';
}
if (@$sreg['nickname'])
{
$success .= " Your nickname is '".escape($sreg['nickname']).
"'.";
echo $success;
}
else
{
echo '<p>Not nickname success</p>';
}
if (@$sreg['fullname'])
{
$success .= " Your fullname is '".escape($sreg['fullname']).
"'.";
echo $success;
}
else
{
echo '<p>Not full name success</p>';
}
$pape_resp = Auth_OpenID_PAPE_Response::fromSuccessResponse($response);
if ($pape_resp)
{
if ($pape_resp->auth_policies)
{
$success .= "<p>The following PAPE policies affected the authentication:</p><ul>";
foreach ($pape_resp->auth_policies as $uri)
{
$escaped_uri = escape($uri);
$success .= "<li><tt>$escaped_uri</tt></li>";
}
$success .= "</ul>";
}
else
{
$success .= "<p>No PAPE policies affected the authentication.</p>";
}
if ($pape_resp->auth_age)
{
$age = escape($pape_resp->auth_age);
$success .= "<p>The authentication age returned by the " .
"server is: <tt>".$age."</tt></p>";
}
if ($pape_resp->nist_auth_level)
{
$auth_level = escape($pape_resp->nist_auth_level);
$success .= "<p>The NIST auth level returned by the " .
"server is: <tt>".$auth_level."</tt></p>";
}
}
else
{
$success .= "<p>No PAPE response was sent by the provider.</p>";
}
}
echo '<p>End of script - finish auth</p>';
include 'http://www.comehike.com/index.php';
// $_SESSION['user_id'] = $user_id;
// $_SESSION['user_email'] = $row['user_email'];
// $_SESSION['user_lat'] = $row['lat'];
// $_SESSION['user_lng'] = $row['lng'];
// $_SESSION['first_name'] = $row['first_name'];
}
run();
?>
이 일에 대한 UX의 테스트입니다 :
http://www.comehike.com/account/member_home.php