dpop_flutter_dio 0.1.1
dpop_flutter_dio: ^0.1.1 copied to clipboard
Dio integration for dpop_flutter - a DpopInterceptor that attaches DPoP headers to every request and retries once on a DPoP nonce challenge.
import 'package:dio/dio.dart';
import 'package:dpop_flutter/dpop_flutter.dart';
import 'package:dpop_flutter_dio/dpop_flutter_dio.dart';
/// A stub standing in for your app's real token storage/refresh logic.
class _StaticTokenProvider implements AccessTokenProvider {
const _StaticTokenProvider(this._token);
final String _token;
@override
Future<String?> getAccessToken() async => _token;
}
/// Demonstrates [DpopInterceptor]: attaches DPoP headers to every Dio
/// request and retries once on a `DPoP-Nonce` challenge.
Future<void> main() async {
final dpop = DpopClient(keyStore: SecureDpopKeyStore());
await dpop.initialize();
final dio = Dio();
dio.interceptors.add(
DpopInterceptor(
dpop: dpop,
dio: dio,
tokenProvider:
const _StaticTokenProvider('replace-with-a-real-access-token'),
),
);
final response = await dio.get<String>('https://api.example.com/profile');
// ignore: avoid_print
print('${response.statusCode}: ${response.data}');
}