OpenID 対応サイトにログアウト機能を追加するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/1968814

  •  21-09-2019
  •  | 
  •  

質問

最近、Web サイトに OpenID ログインを追加しました。しかし、ログアウト機能を追加する方法がわかりません。

たとえば、[サインイン] ボタンをクリックすると、選択した OpenID プロバイダー (Google アカウントなど) のログイン フォームを表示できます。ただし、Google アカウントからサインアウトするためのサインアウト ボタンを実装する方法がわかりません。

ご意見をお聞かせください。

役に立ちましたか?

解決

OpenIDの依拠当事者はOPのうち、ユーザーがログインできない、あなただけのローカルログアウトを実装することができます。ただ、RPのようなOPにユーザーをログインすることはできません。

他のヒント

個々のOpenIDプロバイダは、ユーザーがリダイレクト可能なログアウトのために異なるURLを提供します。

グーグル: https://www.google.com/accounts/Logoutする

ヤフー: https://login.yahoo.com/config/login?logout= 1

のOPは、標準の一部として、これらのURLを提供することを可能にする議論がありました。 OpenIDのメーリングリスト上この議論を参照してください。

私はあなたがパラダイム混合していると思います(単語を憎悪していることが、ちょうど今使用して良い方を考えることはできません)。あなたのログインリンクは、認証のために自分のOpenIDプロバイダにユーザーを送信し、それは、あなたのウェブサイトへのITの伐採、OpenIDを経て資格情報を提供することにより、重要なビットだ自分のGoogleアカウントにログインしているユーザではありません。ユーザーはよくすでにOpenIDプロバイダにログインすることができます。あなたが知っている(できません)していないと気にする必要はありません。

同様に、あなたのサイトにログアウトリンクは、彼らがログインボタンをクリックする前と同じ状態に戻す、唯一のサイトのユーザーをログアウトする必要があります。ユーザーは、すでに自分のOpenIDプロバイダからログアウトしている場合があります。あなたはどちらも知らないでもケア。このサイトは良い例です。)

ただ、セッションを破棄します。

あなただけのOpenIDのローカルログアウトを実装することができます。チャールズ・ダフィーが言ったように、あなたは常に、特定のURLを使用することができますが、それは、ユーザは、あなたがのためにログアウトURLを知っているプロバイダを使用して提供されます。ユーザーは、彼らがあなたのウェブサイトからログアウト時にすべての彼のGoogleアカウントがログアウトしていることを発見した場合それはfustratingすることができます。

問題を見て、他の方法は、あなたが彼がすでにOpenIDのプロバイダにログインしているときにだけではなく、ロギングのため、常に自分のパスワードでキーに必要あなたのウェブサイトへの人のログを確認したいかどうかです。

彼らは公共の端末から、それを使用している場合は、

この(私見)は、より優れたセキュリティを提供します。これは、常にログインしているユーザーが自分のパスワードを再検証する必要があることを保証します。

、その実際には非常に簡単なことをやるだけPAPEの拡張子を使用するには openid.ns.pape = "http://specs.openid.net/extensions/pape/1.0"。
openid.pape.max_auth_age = 0

あなたがOpenIDプロバイダにログインしているURLの一部としてます。

ここでさらに詳しい情報は http://code.google.com/apis/accounts /docs/OpenID.htmlする

以下は、私がGoogleからのログアウトすることができたことにより、1つのトリックがあります:

<iframe id="myIFrame" src="" style='display:none;' > 
 function logOutGoogle(){
     document.getElementById('myIFrame').src='https://www.google.com/accounts/Logout';
     timeOut();
 }

私は自分のプロジェクトをやってログアウト問題で立ち往生しています 私はあなたのようにそれを行う方法がわかりません 私はすべてのクッキーをリセットすることで解決しています 私は、ステータスにロギングを設定されたCookieを知らないので、 私はそれを知っている必要があります。

あなたはOpenIDのプロバイダからの検証が成功した後、いくつかのセッション変数を作成しておく必要があり、あなただけのこれらのセッション変数を破壊する必要があります。あなたはOpenIDのプロバイダによって作成されたセッションを破棄することはできません。

Google と RP からログアウトするための信頼できるソリューションは次のとおりです。

この URI を呼び出すだけです

https://www.google.com/accounts/Logout?Continue=https://appengine.google.com/_ah/logout?Continue=https://www.yourapp.com

Google からログアウトし、アプリにリダイレクトされます。ありがとう!

近々、Windows Live と facebook.com STS のログアウト ソリューションを投稿する予定です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top