resolveAuthSignInRedirectTarget<TContext> function

Future<String?> resolveAuthSignInRedirectTarget<TContext>({
  1. required AuthCallbacks<TContext> callbacks,
  2. required TContext context,
  3. required AuthUser user,
  4. required AuthSessionStrategy strategy,
  5. required FutureOr<String?> resolveRedirect(
    1. String? candidate
    ),
  6. AuthProvider? provider,
  7. AuthAccount? account,
  8. Map<String, dynamic>? profile,
  9. AuthCredentials? credentials,
  10. bool isNewUser = false,
  11. String? callbackUrl,
  12. String blockedCode = 'sign_in_blocked',
})

Resolves the final sign-in redirect by combining sign-in callback decision and adapter-specific redirect resolution.

Implementation

Future<String?> resolveAuthSignInRedirectTarget<TContext>({
  required AuthCallbacks<TContext> callbacks,
  required TContext context,
  required AuthUser user,
  required AuthSessionStrategy strategy,
  required FutureOr<String?> Function(String? candidate) resolveRedirect,
  AuthProvider? provider,
  AuthAccount? account,
  Map<String, dynamic>? profile,
  AuthCredentials? credentials,
  bool isNewUser = false,
  String? callbackUrl,
  String blockedCode = 'sign_in_blocked',
}) async {
  final decidedRedirect =
      await resolveAuthSignInRedirectWithCallbacks<TContext>(
        callbacks: callbacks,
        context: context,
        user: user,
        strategy: strategy,
        provider: provider,
        account: account,
        profile: profile,
        credentials: credentials,
        isNewUser: isNewUser,
        callbackUrl: callbackUrl,
        blockedCode: blockedCode,
      );

  final target = decidedRedirect ?? callbackUrl;
  return Future<String?>.value(resolveRedirect(target));
}