cancel
Showing results for 
Search instead for 
Did you mean: 
Announcements

Android - Unable to save the login in my android app

Hi,

I am able to log the user in and retrieve the access token the first time and store it using SharedPreferences. However,  I want the users to log in automatically the next time they open my app (retrieve the access token silently).

I can always retrieve the access token stored in the app's local storage (SharedPreferences) but it might not be valid after a few hours/days. Is there a way to check if the access token in the local storage is valid and if not, retrieve a new access token without the user entering their dropbox credentials again.

 

Below is my code for retrieving the access token the first time:

 

private void dropboxLogin() {
        System.out.println("First Login");
        Auth.startOAuth2Authentication(MainActivity.this, APP_KEY);
} @Override protected void onResume() { super.onResume(); SharedPreferences prefs = getSharedPreferences("dropbox-sample", MODE_PRIVATE); String accessToken = prefs.getString("access-token", null); if (accessToken == null) { accessToken = Auth.getOAuth2Token(); if (accessToken != null) { prefs.edit().putString("access-token", accessToken).apply(); initAndLoadData(accessToken); } } else { initAndLoadData(accessToken); } System.out.println("Access Token: " + accessToken); String uid = Auth.getUid(); String storedUid = prefs.getString("user-id", null); if (uid != null && !uid.equals(storedUid)) { prefs.edit().putString("user-id", uid).apply(); } }

Note that I am using Dropbox API v2.

 

Thanks in advance!

 

1 Accepted best answer

Accepted Solutions
Highlighted
Dropboxer

Re: Android - Unable to save the login in my android app

While access tokens don't expire automatically, users can revoke access tokens at any time.

You can check if an access token is still currently valid by attempting an API call, such as getCurrentAccount.

If the access token is no longer valid though, it's not possible to get a new one without sending the user through the app authorization flow again.

Reply
Loading...
1 Reply
Highlighted
Dropboxer

Re: Android - Unable to save the login in my android app

While access tokens don't expire automatically, users can revoke access tokens at any time.

You can check if an access token is still currently valid by attempting an API call, such as getCurrentAccount.

If the access token is no longer valid though, it's not possible to get a new one without sending the user through the app authorization flow again.

Reply
Loading...