Mohit Gupta
Mohit Gupta

Reputation: 109

How to get refresh token in Box Windows SDK v2

I am new to dot net MVC and I am working on a application which required Box integration, in which user authorizes our application using oauth2 authentication flow. I get the access token and refresh token and save them to my database for further offline access so that user do not have to authenticate the application again.

Now, I am using Box Windows SDK v2 to get list of files and folders of a user. Here is the code block by which I am able to get the rot folder of box.

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;

Everything is fine upto this point.

Now when the access token expires (as it is valid only for 3600 seconds), and I try to get the root folder again, Box SDK refreshes access token and refresh token automatically without telling me. and provides me the root folder object.

At this moment I got the root folder, but I am not aware that Box SDK has updated the access token and refresh tokens. Still I have old access token and refresh token in my database. They are not updated. And I am lost. Now I am left with those old invalidated access token and refresh token.

Pls help. How do I know that Box SDK has updated access token and refresh token ? so that I can update them in my database for future use.

It would be nice, if you can provide a working sample MVC application which stores the access token and refresh token. You can provide the code blocks which needs to be placed in controller. I hope, I will be able to integrate them.

Thanks in advance.

Upvotes: 1

Views: 1067

Answers (1)

Jeevan
Jeevan

Reputation: 167

You could use the events triggered by Box.V2 after refreshing the token:

SessionAuthenticated : Fires when a new set of auth token and refresh token pair has been fetched

SessionInvalidated: Fires when the authenticaiton session is invalidated

Upvotes: 0

Related Questions