anonymous method

Future<AuthResponse<Session>> anonymous({
  1. SignInCallbacks? callbacks,
})

Signs in anonymously (guest user).

This creates a session without requiring any credentials. Useful for allowing users to explore an app before signing up.

callbacks Optional lifecycle callbacks.

Returns an AuthResponse containing the Session on success.

Implementation

Future<AuthResponse<Session>> anonymous({
  SignInCallbacks? callbacks,
}) async {
  callbacks?.onRequest?.call();

  try {
    final response = await _dio.post(
      ApiEndpoints.signInAnonymous,
    );

    final session = Session.fromJson(response.data['session'] ?? response.data);
    await _tokenManager.setAccessToken(session.token);
    callbacks?.onSuccess?.call(session);

    return AuthResponse.success(session);
  } on DioException catch (e) {
    final error = AuthError.fromDio(e);
    callbacks?.onError?.call(error);
    return AuthResponse.error(error);
  }
}