0

ドロップボックス asp.net アプリケーションを開発していますが、少なくとも localhost モードで動作しています。しかし、ローカルホストのテスト中にのみ発生し、本番環境では発生しない (できない) ことを願っている問題に直面しています。ちょっと説明が難しいので、順を追って説明します。

1)ブラウザが起動せず、Debuggerで「ログイン会員対象ページ」を起動します。ドロップボックスにログインと許可を求めます。このとき、私の Oauth 派生クラスでは、アクセス トークンとシークレットを含むドロップ ボックス オブジェクトをセッション変数に格納します。

2)実際の「ログイン」ページで、セッションからオブジェクトを抽出し、ドロップボックスの使用を開始すると、正常に動作します。

3) ここで、Visual Studio 2012 からのデバッグを停止するとします。コードにいくつかの変更を加えます。今、私は再び始めます。今回は、ブラウザーが既に Dropbox にログインしており、対象のページがログイン状態で表示されます。ドロップボックスから「許可」プロンプトが表示されません。しかし、これは新しいセッションであるため、ドロップ ボックス オブジェクトを抽出するためのセッション変数はありません。ただし、ドロップボックスの場合は、すでにログインしているセッションです。

この状況は、ローカルホストの実行中にのみ発生し、実際の本番アプリでは発生しないことを確認したいと思います。これは、独自のセッションを持つブラウザーの Web サイトから常に発生するためです。それとも発生する可能性はありますか?その場合の解決策は何ですか。

もう 1 つの疑問は、ブラウザが開いているのにアプリが新しいセッションを開始している場合に、ドロップボックスが次回プロンプトを許可するように要求しないのはなぜですか。どこかから同じアクセス トークンとシークレットを取得している必要があります。どこから?

4

1 に答える 1

0

実行可能な解決策を見つけたと思います。セッションが失われたことがわかった場合は、次のコードを実行してユーザーをログオフします。この状況が私のローカル テストでのみ発生する可能性がある場合でも、これで対処できます。

                FormsAuthentication.SignOut();
                Response.Redirect("/");
                return;
于 2013-10-31T14:50:39.213 に答える