1

私は 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 アプリケーションを提供できれば幸いです。コントローラーに配置する必要があるコード ブロックを提供できます。それらを統合できることを願っています。

前もって感謝します。

4

1 に答える 1