Updated example in README

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
This commit is contained in:
2024-09-20 15:46:47 +02:00
parent 3a406e81c4
commit 8d30f3a943
+10 -3
View File
@@ -240,6 +240,8 @@ The Arcane Framework provides a useful interface for performing common authentic
To get started, create an authentication interface provider and register it in the Arcane authentication module: To get started, create an authentication interface provider and register it in the Arcane authentication module:
```dart ```dart
typedef LoginInput = ({String email, String password});
// Create an authentication interface // Create an authentication interface
class AuthProviderInterface implements ArcaneAuthInterface { class AuthProviderInterface implements ArcaneAuthInterface {
AuthProviderInterface._internal(); AuthProviderInterface._internal();
@@ -287,14 +289,19 @@ class AuthProviderInterface implements ArcaneAuthInterface {
} }
@override @override
Future<Result<void, String>> loginWithEmailAndPassword({ Future<Result<void, String>> login<LoginInput>({
required String email, LoginInput? input,
required String password, Future<void> Function()? onLoggedIn,
}) async { }) async {
final bool alreadyLoggedIn = await isSignedIn; final bool alreadyLoggedIn = await isSignedIn;
if (alreadyLoggedIn) return Result.ok(null); if (alreadyLoggedIn) return Result.ok(null);
final credentials = input as ({String email, String password});
final String email = credentials.email;
final String password = credentials.password;
try { try {
final SignInResult result = await _session.signIn( final SignInResult result = await _session.signIn(
username: email, username: email,