2016-11-01 30 views
3

コードフローシナリオを使用してv2に.net apiを使用しています。私は、これがユーザーがあなたのアプリケーションを一度認証した後に新しいアクセストークンを取得するために保存して再利用できるリフレッシュトークンを取得するために使用するという印象を受けました。Dropbox APIの再利用可能なリフレッシュトークン?

以下のような呼び出しを行った後、私は呼び出しが提供するuriをナビゲートします。

var redirect = DropboxOAuth2Helper.GetAuthorizeUri(OauthResponseType.Code, AppKey, RedirectUri, user.ConnectState); 

私はProcessCodeFlowAsync()にフィードしたコードパラメータの結果を解析します。それは一度アクセストークンを取得するだけです。私が保存して、もう一度それを使用しようとすると、 "コードはすでに使用されています:無効な許可"エラーが発生します。

私はリフレッシュトークンを取得していたと思っていましたが、繰り返しそれにフィードしていましたが、ProcessCodeFlowAsyncは機能しません。ユーザーに毎回権限を与えることなく、アクセストークンを取得するために繰り返し使用できるリフレッシュトークンを取得するにはどうすればよいですか。私はキャッシュトークンではなく、認証トークンではなく認証トークンを再利用しています。

答えて

2

Dropbox APIは、リフレッシュトークンを使用しません。その代わりに、アプリ認証フローの最後に取得したアクセストークンを保存して再利用するだけです。

ユーザーまたはアプリはいつでもアクセストークンを取り消すことができます。したがって、アクセストークンが無効になったためにAPI呼び出しが失敗した場合でも、引き続き使用する場合は再リンクするようにユーザーに指示することができます統合は、アプリは新しいトークンを取得することができますので、

(「コード」あなたはProcessCodeFlowAsyncに渡すが、再使用できない「認証コード」、である。)

+0

ので、どのくらいのアクセストークンは、最後のですか?見たoauthの実装はすべて45分です。長期間ではありません。 –

+0

OK取り消されない限り期限切れにならないと思います。 http://stackoverflow.com/questions/23400244/dropbox-access-token-expiry私はちょうど私を混乱させていたoauthについての事前の考えを持っていると思います。ありがとう! –

関連する問題