Skip to main content
OAOlamilekan AdeyemiFlutter · React · Next.js · Full-Stack DeveloperHire Me
All packages/Navigation/flutter_deep_link_guard
Navigation

flutter_deep_link_guard

Declarative route middleware and deep link guards for Flutter applications using GoRouter.

NavigationDeep LinksGoRouter
v1.0.0Documented version
MITOpen source license
Flutter & DartSee platform notes

Overview

Organize route access rules and deep link validation around your application's navigation flow.

flutter_deep_link_guard Organize route access rules and deep link validation around your application's navigation flow.

Navigation
Deep Links
GoRouter

Installation

Add the package to your Flutter project.

bash
flutter pub add flutter_deep_link_guard:^1.0.0

Quick Start

Start with this small example, then connect it to your own application. Read the known limitations before using it with real data.

dart
import 'package:flutter_deep_link_guard/flutter_deep_link_guard.dart';

Future<String?> redirectFor(String location, bool signedIn) async {
  final pipeline = GuardPipeline([
    AuthGuard(
      isAuthenticated: () => signedIn,
      fallbackRedirectPath: '/login',
    ),
  ]);
  return pipeline.evaluate(GuardContext(location: location));
}

This is a starting point, not a complete application. Add error handling and tests for your own backend and lifecycle.

Configuration

Keep configuration with the part of your application that owns the package instance. Connect authentication, storage, exporters or backend handlers explicitly rather than relying on hidden global state.

Use the versioned API reference for constructors and options. The starting example above focuses on a small integration surface; the repository example shows the surrounding application code.

Explore configuration in the API reference

Known Limitations

The local audit found that an HTTPS URI without a host can pass the host allowlist check. Validate the URI scheme and require a nonempty allowed host before passing external links to this release.

API Reference

Explore the public classes, methods and constructors for version 1.0.0.

Open versioned API reference

Example & Tests

Use the repository example to explore the package in context. Run its tests locally, and add regression cases for the known limitations above. The SSL package’s device test results do not apply to this package.

bash
git clone https://github.com/lekthedeveloper/flutter_deep_link_guard.git
cd flutter_deep_link_guard
flutter pub get
flutter test
View repository example

Frequently Asked Questions

Can I use this package in a commercial app?

The package is MIT licensed. Follow the license terms and review the current limitations for your use case.

Where should I report a bug?

Open an issue in the package repository. Include the package and Flutter versions, a minimal reproduction and the expected behavior. Remove credentials and private data.

Are these packages all verified for production?

No blanket guarantee is made. Each guide documents its current limitations. Test your integration and use independent review for sensitive workflows.