2012-03-02 19 views
1

私はdotNetOpenAuthを使用して、Google oAuthプロバイダに対して承認しています。oAuthプロトコルのアクセストークンの有効期限

私は次の差に少し混乱しています:

consumerTokenconsumerSecretaccessToken

私はいくつかのユーザーのためにaccessTokenを取得プロバイダから。私はそれを永遠に保つことができますか?それとも期限切れですか?

「Googleデータページへのアクセスを許可する」にユーザーをリダイレクトせずにコードで許可を有効にするにはどうすればよいですか?

答えて

5

寿命についての予想はありません。accessTokenいつでもあなたのアプリで、次のにトリガすべき403 HTTPエラーを与えることができます。

  • あなたはrefreshTokenを持っている場合は、リソースの所有者(エンドユーザー)対話
  • ない場合のない新しいaccessTokenを取得、ユーザーに再度アプリケーションの認証を依頼してください
+4

OAuth 1.0を使用しているため、リフレッシュトークンに関するコメントは@ Eladのケースには適用されないようです。 –

0

OAuthの「アクセストークン」は通常、有効期限が比較的短く(Facebookとメッセンジャーの場合は1日未満)ます。実装がそれをサポートしている場合、 "refreshToken"は長く保つことができます(週/月はプロバイダによって異なります)。

Googleが更新トークンをサポートしているため、トークンを保存したい場合はそれが対象です。

accessTokenとrefreshTokenは非常に機密情報(クリアテキストのユーザー名とパスワードに似ています)を表していますので、これらの情報の保存に関する推奨事項と要件を確認してください。

+2

再度、リフレッシュトークンはoauth 1.0には適用されません。 –

2

OAuth 1.0では、アクセストークンの有効期限を予測する手段がないため、OAuth 1.0アクセスのGoogleドキュメントを読む必要があります彼らがどれくらい長く続くかを見るトークン。

「Googleデータページへのアクセスを許可する」にユーザーをリダイレクトせずにコードで許可を有効にするにはどうすればよいですか?

あなたはありません。あなたがそれを行うことができれば、それは巨大なセキュリティーリークになります。ユーザーは、自分のデータにアクセスするためにアプリを認証する必要があります。ただし、一度認可を取得すると、取得したアクセストークン(およびその秘密)を保存することで、将来使用することができ、ユーザー認可ステップを回避できるはずです(ユーザーがトークンを取り消すか、 。

関連する問題