lightopenidを使用して、ユーザーの実装で低摩擦サインを作成しようとしていますが、問題を引き起こしているユースケースに遭遇しました。
- ユーザーがGoogleからサインアウトする
- ユーザーが私のWebサイトに移動し、資格情報を求められます
チャレンジは、ユーザーを認証するために使用する次のコードが原因で発生しますが、ユーザーがログインしていない場合は、Googleチャレンジフロー全体がアクティブ化されます
$openid->identity = 'https://www.google.com/accounts/o8/id';
header('Location: ' . $openid->authUrl());
要約すると、ユーザーがすでにサインインしている場合、すべてがスムーズに機能します。ユーザーが認証チャレンジなしでサインインしているかどうかをテストできるようにしたいと思います。これは、初めてのユーザーにとってはかなり悪い経験です。次に、ユーザーがサインインできるボタンを実装できますが、それでもWebサイトのコンテンツの大部分を表示できます。