POST 메서드를 사용하여 LightOpenID 라이브러리를 사용하여 인증하는 방법이 있습니까? 정확히 말하자면 인증 후 Google은 지정된 URL로 돌아가지만 GET 방식을 사용하여 모든 데이터가 나에게 전송되어 추악하고 긴 URL로 끝납니다.POST 메서드를 사용하여 LightOpenID 인증
내 코드는 다음과 같습니다 인증 OP는 이런 식으로 뭔가 보이는 URL을 반환
define('BASE_URL', 'http://someurl.com');
try {
$openid = new LightOpenID();
if (!isset($_GET['openid_mode'])) {
// no openid mode was set, authenticate user
$openid->identity = 'https://www.google.com/accounts/o8/id';
$openid->realm = BASE_URL;
$openid->required = array('contact/email');
header('Location: '.$openid->authUrl());
} else if ($_GET['openid_mode'] == 'cancel') {
// user canceled login, redirect them
header('Location: '.BASE_URL);
} else {
// authentication completed, perform license check
if ($openid->validate()) {
$openid->getAttributes();
}
}
} catch (ErrorException $e) {
}
그래서 후 :
http://someurl.com/index.php?openid.ns=http://specs.openid.net/auth/2.0&openid.mode=id_res&openid.op_endpoint=https://www.googl...
을 그리고는 영업 이익으로 돌아가려면 :
http://someurl.com/index.php
을 입력하고 POST not GET을 사용하여 모든 데이터를 보냅니다.
주요 관심사가 멋진 URL 인 경우 모든 데이터를 확보 한 후 끝점으로 리디렉션하십시오. LOID는 POST를 지원하지만, 모든 OID 공급자가 상당히 유연하지는 않습니다. – tadamson
글쎄, 구글이 지원해야한다고 생각해. POST를 사용하려면 LOID에서 어떻게 지정합니까? – MeanEYE