FreshLink<T> constructor
FreshLink<T> ({
- required TokenStorage<
T> tokenStorage, - required RefreshToken<
T?> refreshToken, - required ShouldRefresh shouldRefresh,
- TokenHeaderBuilder<
T?> ? tokenHeader,
A GraphQL Link which handles manages an authentication token automatically.
A constructor that returns a Fresh interceptor that uses the OAuth2Token token, the standard token class and define the` tokenHeader as 'authorization': '${token.tokenType} ${token.accessToken}'
final freshLink = FreshLink(
tokenStorage: InMemoryTokenStorage(),
refreshToken: (token, client) {
// Perform refresh and return new token
},
);
final graphQLClient = GraphQLClient(
cache: InMemoryCache(),
link: Link.from([freshLink, HttpLink(uri: 'https://my.graphql.api')]),
);
Implementation
FreshLink({
required TokenStorage<T> tokenStorage,
required RefreshToken<T?> refreshToken,
required ShouldRefresh shouldRefresh,
TokenHeaderBuilder<T?>? tokenHeader,
}) : _refreshToken = refreshToken,
_tokenHeader = (tokenHeader ?? (_) => <String, String>{}),
_shouldRefresh = shouldRefresh {
this.tokenStorage = tokenStorage;
}