flutter_secure_token_manager 1.0.0 copy "flutter_secure_token_manager: ^1.0.0" to clipboard
flutter_secure_token_manager: ^1.0.0 copied to clipboard

Safely store access and refresh tokens, efficiently refreshing access tokens upon expiration.

Flutter Secure Token Manager #

Securely store and auto-refresh access/refresh tokens in Flutter. Handles concurrent requests — only one refresh ever runs at a time.

Install #

Run

flutter pub add flutter_secure_token_manager

Or, add to pubspec.yaml:

dependencies:
  flutter_secure_token_manager: ^latest_version

Setup #

Configure once at app startup (e.g. in main.dart):

// Required: called when access token is expired
FlutterSecureTokenManager().onTokenExpired = (refreshToken) async {
  return await MyApi.refreshToken(refreshToken); // return new Token
};

// Optional: only needed if your tokens are not JWTs
FlutterSecureTokenManager().isTokenExpired = (accessToken) async {
  return myCustomExpiryCheck(accessToken);
};

Usage #

After login:

await FlutterSecureTokenManager().setToken(
  token: Token(accessToken: '...', refreshToken: '...'),
);

In API calls:

headers: {
  'Authorization': 'Bearer ${await FlutterSecureTokenManager().getAccessToken()}',
}

getAccessToken() refreshes automatically if expired. Safe to call concurrently.

On logout:

await FlutterSecureTokenManager().clearToken();

API #

Method Description
setToken(token) Store access + refresh tokens
getAccessToken() Get valid access token, refreshing if needed
getToken() Get raw Token, or null if not set
getRefreshToken() Get raw refresh token string
hasToken() Check if tokens are stored
clearToken() Delete stored tokens

Error handling #

getAccessToken() throws if:

  • No token has been set → call setToken after login
  • Token is expired and onTokenExpired is not set
  • onTokenExpired callback throws (e.g. network error, 401)

🚀 Actively seeking feedback and suggestions for further enhancements to make this plugin even more valuable! Share your thoughts to contribute to its improvement. Feel free to reach out if you have any questions or encounter issues. Happy coding! 🙌

6
likes
160
points
136
downloads

Documentation

API reference

Publisher

verified publishersharmadhiraj.com

Weekly Downloads

Safely store access and refresh tokens, efficiently refreshing access tokens upon expiration.

Homepage

License

Apache-2.0 (license)

Dependencies

flutter, flutter_secure_storage, jwt_decoder

More

Packages that depend on flutter_secure_token_manager