私は dot net MVC を初めて使用し、ユーザーが oauth2 認証フローを使用してアプリケーションを承認する Box 統合を必要とするアプリケーションに取り組んでいます。ユーザーがアプリケーションを再度認証する必要がないように、アクセス トークンとリフレッシュ トークンを取得し、それらをデータベースに保存してさらにオフラインでアクセスできるようにします。
現在、Box Windows SDK v2 を使用して、ユーザーのファイルとフォルダーのリストを取得しています。これは、ボックスの腐ったフォルダーを取得できるコードブロックです。
var config = new BoxConfig(clientId, clientSecret, new Uri("http://localhost:49671/CloudBox/Callback/"));
//Pls note, here accessToken and refreshToken are fetched from database
OAuthSession session = new OAuthSession(accessToken, refreshToken, 3600, "bearer");
BoxClient client = new BoxClient(config, session);
BoxFolder boxFolder = client.FoldersManager.GetInformationAsync("0").Result;
この時点まではすべて問題ありません。
アクセス トークンの有効期限が切れて (有効期限が 3600 秒しかないため)、ルート フォルダーを再度取得しようとすると、Box SDK が自動的にアクセス トークンとリフレッシュ トークンを更新します。ルート フォルダ オブジェクトを提供します。
現時点ではルート フォルダーを取得しましたが、Box SDK がアクセス トークンとリフレッシュ トークンを更新したことを認識していません。それでも、データベースに古いアクセス トークンと更新トークンがあります。それらは更新されません。そして、私は迷っています。これで、古い無効化されたアクセス トークンとリフレッシュ トークンが残ります。
助けてください。Box SDK がアクセス トークンとリフレッシュ トークンを更新したことを確認するにはどうすればよいですか? 将来の使用のためにデータベースでそれらを更新できるようにします。
アクセス トークンとリフレッシュ トークンを格納する実用的なサンプル MVC アプリケーションを提供できれば幸いです。コントローラーに配置する必要があるコード ブロックを提供できます。それらを統合できることを願っています。
前もって感謝します。