1

説明:

OAuth サービスが「ランダムに」「有効期限」の値を返さないという問題があります。

アプリケーションは、単純な WebRequests とリダイレクト (SDK なし) でサーバー側認証を使用し、ドキュメントに完全に準拠しています。

「有効期限」の値を独自のデータベースに保存し、この情報を使用して、アクセストークンの有効期限が切れた (または間もなく期限切れになる) ときに、ユーザーに再認証を求めるプロンプトを表示します。

アクセストークンの更新を自動化または一括処理することはありません。Accesstokens は、サーバー側の認証によってのみ更新されます。つまり、プロセスは常にユーザーによって開始されます。

このように期限切れのトークンの一部 (すべてではない) を更新しようとすると、OAuth サービスは手順 4 の有効期限の値を返さないことに気付きました。彼の Facebook アカウントにアクセスします。accesstoken は問題なく返されます。

他のトークンはこの問題に直面しません。この問題はランダムに発生するようですが、manage_pages パーミッションを付与するユーザーと付与しないユーザーに関連している可能性があります。ただし、これは憶測であり、現在これをテストすることはできません。

この問題は、ユーザーが手動でアプリの設定に移動し、そこからアプリを削除することで「修正」できます。次にサーバー側の認証が実行されると、OAuth 応答には期待どおりの有効期限の値が含まれ、そのユーザーを承認するための後続の呼び出しにも含まれます。

質問:

  • この (文書化されていない) 動作の原因は何ですか?
  • 影響を受けたトークンを修正するにはどうすればよいですか?
  • どうすればこれを防ぐことができますか?

前もって感謝します、

4

1 に答える 1

0

これは明らかに既知のバグです。(CBroeのコメントを参照)

于 2012-09-04T06:46:01.120 に答える