2

C# と .net を使用して社内サーバーで実行する Web サーバー アプリケーションを開発しようとしています。私のアプリケーションの目的は、Google カレンダーと連携し、イベントを読み取り、旅費レポートを生成することです。

ここの例のコードの OAuth2 部分に基づいて、ほとんど機能するアプリケーションを思いつくことができました。

私が言う主な理由は、どこかで、ユーザーがログインまたは認証されているかどうか、およびどのユーザーがログインしているかについて混乱が生じるためです。

例: Chrome を起動してアプリケーションにアクセスした場合、すべて問題ありませんが、別のブラウザ (IE または FF) を開き、別の Google アカウントにログインしてからアプリケーションを起動すると、表示されるレポートは、 Chrome で Google にログインしていた/ログインしているアカウントは? 最初のブラウザー (この場合は Chrome) では、URL にパラメーター ?code が含まれていますが、2 番目のブラウザーの URL にはパラメーターが含まれておらず、単にアプリケーションへの URL のままです。

別の Google アカウントを使用して 2 番目のブラウザーでアプリケーションを起動すると、認証が失敗しているように見えます (ボタンのテキストは「認証」のままですが、以下を参照してください。 「認証」ボタンをクリックすると、返されたデータは、最初のブラウザーを介してログインした/ログインしたアカウントからのものです。

CalendarList response = _service.CalendarList.List().Fetch();

なぜこれが起こっているのかを突き止めようとしましたが、あまり成功しませんでしたが、気が狂い始めており、これまでのところ、アプリケーションの有用性が制限されています.

この問題は、サーバーに保存されているセッション状態情報に関係している可能性がありますか? 私が使用している OAuth2 コード サンプルは古くなっていますか? もしそうなら、正しい例はどこにありますか?

任意の提案をいただければ幸いです。

ありがとう

4

1 に答える 1