1

私は Google Chrome 拡張機能を開発しており、Boris Smus Oauth 2.0 ライブラリを使用しています。

認証交換は完了しますが、私が抱えている問題は、承認時に access_type=offline を指定しても、交換中に refresh_token を受信せず、access_token、expires_in、および token_type だけを受信することです。

これは、私の API アクセス設定で、OAuth2 が Web アプリケーションとして設定されており、Web アプリケーションにオフライン アクセスが許可されていないためではないかと推測しています。これが正しいかどうか、またはそれを機能させることができたかどうかを知っている人はいますか?

前もって感謝します。

4

3 に答える 3

1

オプションの approval_prompt=force パラメーターを承認 URL に追加することで、問題を解決できました。デフォルトでは、承認プロンプトは「自動」に設定されています。「強制」に設定すると、トークン交換中にリフレッシュ トークンが表示されます。

于 2012-08-07T04:57:47.960 に答える
0

OAuth 2.0 仕様によると、refresh_token はオプションであり、Implicit Grant および Client Credentials Grant ではサポートされていません。

access_type=offline とおっしゃっていたので、Facebook API を使っていると思います。Boris Smus ドキュメントの章 VARYING OAUTH IMPLEMENTATIONS にも、Facebook はリフレッシュ トークンを返さないことが記載されています。

こちらの質問もお読みください。

于 2012-08-07T04:54:21.650 に答える