resolveAuthOptions<TContext> function
AuthOptions<TContext>
resolveAuthOptions<TContext>({
- required AuthOptions<
TContext> options, - Iterable<
AuthProvider> configuredProviders = const <AuthProvider>[], - AuthStore? store,
- Client? httpClient,
- AuthSessionStrategy? sessionStrategy,
- Duration? sessionMaxAge,
- Duration? sessionUpdateAge,
Resolves final options by merging framework overrides into options.
This helper keeps option merge behavior consistent across framework
integrations, such as Routed and Shelf adapters.
Providers merge by ID. Existing option-level HTTP clients, session ages,
and strategies take precedence over helper arguments. A replacement store
derives AuthStoreMode.ephemeral for InMemoryAuthStore and durable mode
for other stores.
Implementation
AuthOptions<TContext> resolveAuthOptions<TContext>({
required AuthOptions<TContext> options,
Iterable<AuthProvider> configuredProviders = const <AuthProvider>[],
AuthStore? store,
http.Client? httpClient,
AuthSessionStrategy? sessionStrategy,
Duration? sessionMaxAge,
Duration? sessionUpdateAge,
}) {
final mergedProviders = mergeAuthProvidersById(
options.providers,
configuredProviders,
);
return options.copyWith(
providers: mergedProviders,
store: store ?? options.store,
storeMode: store == null
? options.storeMode
: store is InMemoryAuthStore
? AuthStoreMode.ephemeral
: AuthStoreMode.durable,
httpClient: options.httpClient ?? httpClient,
sessionStrategy: sessionStrategy ?? options.sessionStrategy,
sessionMaxAge: options.sessionMaxAge ?? sessionMaxAge,
sessionUpdateAge: options.sessionUpdateAge ?? sessionUpdateAge,
);
}