0

現在、ライブラリ ( SocialAuth.NET - http://code.google.com/p/socialauth-net/ ) を使用して、複数のソーシャル プラットフォームでのログインを処理しています。

これまでのところ、facebook と twitter では何の問題もありませんでした。ただし、Google サインオン プロセスを実装しようとすると、(明らかにランダムに) エラーが発生することがあります。

いくつかの調査 (ライブラリのデバッグと Fiddler などの使用) を行った後、Google 側のログイン プロセスがGETではなくPOSTを介して認証ハンドラーに返されることがあるという結論に達しました。Fiddler を使用すると、メッセージ本文 ( POSTコールバックの場合) またはクエリ文字列 ( GETコールバックの場合) 内のすべてのパラメーターを明確に識別できたため、Google はユーザーを正しくログに記録しました。

これにより、SocialAuth.NET ライブラリ メソッドで例外が発生します。これは、すべてのパラメーターがクエリ文字列で渡されることが想定されているため、ログイン プロセスが失敗するためです (私の側では明らかに - グーグルは、その側ではすべてがうまくいったので、私がログインしていると見なします)。 )

結論として、私が求めているのは、Google がGETではなくPOSTを介してサーバーに応答することがあるのはなぜですか? それを避けるために私がすべきことはありますか、それとも SocialAuth.NETライブラリ内の変更が必要になりますか?

4

1 に答える 1

0

これまでのところ、Google でこの問題に直面したことはありません。常にクエリ文字列で情報を返します。レプリケーションの正確な手順をどうにかして特定できれば素晴らしいことです。とにかく、ライブラリを変更して POST をチェックする場合は、Core/callbackHandler.cs の ProcessRequest メソッドを変更する必要があります (おそらく 76 行目)。

于 2012-12-11T05:38:18.327 に答える