All Downloads are FREE. Search and download functionalities are using the official Maven repository.

dart.libraries.dio.auth.bearer_auth.mustache Maven / Gradle / Ivy

There is a newer version: 7.9.0
Show newest version
{{>header}}
import 'package:dio/dio.dart';
import 'package:{{pubName}}/{{sourceFolder}}/auth/auth.dart';

class BearerAuthInterceptor extends AuthInterceptor {
  final Map tokens = {};

  @override
  void onRequest(
    RequestOptions options,
    RequestInterceptorHandler handler,
  ) {
    final authInfo = getAuthInfo(options, (secure) => secure['type'] == 'http' && secure['scheme']?.toLowerCase() == 'bearer');
    for (final info in authInfo) {
      final token = tokens[info['name']];
      if (token != null) {
        options.headers['Authorization'] = 'Bearer ${token}';
        break;
      }
    }
    super.onRequest(options, handler);
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy