passkeys_platform_interface
passkeys 플러그인을 위한 일반적인 플랫폼 인터페이스입니다. 새로운 플랫폼에서 passkeys를 지원하려면 반드시 구현해야 합니다.
전용 Flutter 패키지를 통해 Flutter 앱(iOS 및 Android)에 FIDO2/WebAuthn 기반의 패스키 인증을 쉽게 제공합니다
passkeys 플러그인을 위한 일반적인 플랫폼 인터페이스입니다. 새로운 플랫폼에서 passkeys를 지원하려면 반드시 구현해야 합니다.
Windows용 passkeys 플러그인 구현. Windows Hello 및 WebAuthn API를 사용하여 Windows 디바이스에서 passkeys 생성을 관리합니다.
^8.7.0아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.
Flutter packages to enable passkey authentication (based on WebAuthn / FIDO2).
| Android | iOS | Linux | macOS | Web | Windows | |
|---|---|---|---|---|---|---|
| Support | :white_check_mark: | :white_check_mark: | :x: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
A Flutter package that enables simple passkey authentication. Currently Android, iOS, macOS, Web and Windows are supported.
A Flutter package that builds on the passkeys package. It adds additional functionalities to make it simpler to use passkey authentication in your own Flutter app.
A Flutter package that builds on the corbado_auth and the passkeys package. It helps you to integrate passkey authentication into your Flutter app that uses Firebase as a backend.
Note: This package is currently broken and will be fixed in the future. There is no specific ETA on when the fix will be available.
The passkeys package can be used as the platform authenticator for supabase_flutter.
Supabase Auth acts as the relying party server, while passkeys handles the native passkey prompts on iOS, Android, macOS, Windows and Web.
It requires supabase_flutter 2.15.0 or later and passkeys 2.21.0 or later.
Add both packages to your pubspec.yaml:
dependencies:
supabase_flutter: ^2.15.0
passkeys: ^2.21.0
Initialize Supabase as usual and create a PasskeyAuthenticator that you pass to the passkey methods:
import 'package:passkeys/authenticator.dart';
import 'package:supabase_flutter/supabase_flutter.dart';
await Supabase.initialize(
url: supabaseUrl,
anonKey: supabaseAnonKey,
);
final supabase = Supabase.instance.client;
final authenticator = PasskeyAuthenticator();
Registering a passkey requires a signed in (non-anonymous) user. It adds a passkey to the current account:
try {
final passkey = await supabase.auth.registerPasskey(authenticator);
print('Registered passkey ${passkey.id}');
} on AuthException catch (e) {
print(e);
}
try {
final res = await supabase.auth.signInWithPasskey(authenticator);
print('Signed in as ${res.user?.email}');
} on AuthException catch (e) {
print(e);
}
For custom flows there is also a two-step API under the supabase.auth.passkey namespace (startRegistration/verifyRegistration and startAuthentication/verifyAuthentication), as well as methods to list, rename and delete passkeys.
For the full guide and configuration steps, see the Supabase passkeys documentation.
We're happy to receive your pull requests. For major changes, please open an issue first to discuss what you would like to change.
If you have questions, feedback or wishes regarding features, please reach out to us via [email](mailto:contact@corbado.com) or join our passkeys community on Slack.