POSTメソッドを使用してLightOpenIDライブラリを使用して認証する方法はありますか?厳密に言えば、認証後、Googleは指定されたURLに戻りますが、GETメソッドを使用してすべてのデータが私に送信されますが、これは醜い長いURLで終わります。POSTメソッドを使用したLightOpenID認証
私のコードは次のとおりです。次のようになりますURLに認証OP戻った後ので
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...
そして、私はOPがに戻りたい:
http://someurl.com/index.php
を入力し、POSTを使用せずにすべてのデータを送信してください。
あなたの主な関心事はURLがすばらしく見える場合は、すべてのデータを取得した後、エンドポイントを正常なものにリダイレクトさせるだけです。 LOIDはPOSTをサポートしていますが、私はすべてのOIDプロバイダが非常に柔軟性があるとは思っていません。 – tadamson
私はGoogleがそれをサポートするべきだと思う。 POSTを使用するためにLOIDでどのように指定しますか? – MeanEYE