基本的にとを組み合わせたLightOpenIdを使用しています。OpenID
OAuth1.0
承認は正常に機能しますが、顧客は毎回承認する必要があります。OpenID
私は、顧客がすでに承認したことを認識したいと思います(基本的には「この承認を記憶する」チェックボックスを使用しています)、承認マスクを再度表示せずに通過します。
これはどのように行うことができますか?
ありがとう、クリスチャン
基本的にとを組み合わせたLightOpenIdを使用しています。OpenID
OAuth1.0
承認は正常に機能しますが、顧客は毎回承認する必要があります。OpenID
私は、顧客がすでに承認したことを認識したいと思います(基本的には「この承認を記憶する」チェックボックスを使用しています)、承認マスクを再度表示せずに通過します。
これはどのように行うことができますか?
ありがとう、クリスチャン
私は自分のアプリケーションでこの問題をしばらく無視していましたが、コメントにあったため、解決策をほとんど見逃していました。
以下のように、LightOpenId コードを実際に変更せずに、ハンドラーの最初の部分に「修正」を適用することができます。
$mysiteurl = 'https://my.site.url/'; // note trailing '/' included
$openid = new LightOpenID($mysiteurl); // <- the trailing '/' onwards is stripped internally
if (!$openid->mode) {
$openid->required = array(
'namePerson/first',
'namePerson/last'
// etc...
);
// redirects to google openid provider
$openid->identity = 'https://www.google.com/accounts/o8/id';
$openid->realm = $mysiteurl; // <- ADD THIS LINE - resets realm with the trailing '/'
header('Location: ' . $openid->authUrl());
return;
} elseif ($openid->mode == 'cancel') {
header('Location: '. $mysiteurl.'cancelled.php');
return;
} elseif (!$openid->validate()) {
header('Location: '. $mysiteurl.'failed.php');
return;
}
header('Location: '. $mysiteurl.'success.php');
return;