federated_auth_realm_sdk_dart 0.4.3 copy "federated_auth_realm_sdk_dart: ^0.4.3" to clipboard
federated_auth_realm_sdk_dart: ^0.4.3 copied to clipboard

Dart SDK for interacting with the Savant Realms Federated Auth Realm API, providing auth helpers and SRWP discovery utilities.

Federated Auth Realm Dart SDK #

Official Dart SDK for interacting with the Savant Realms Federated Auth Realm API. It provides:

  • A strongly typed FederatedAuthClient with helpers for registration, login, password flows, verification, and profile management
  • Token storage abstractions with an in-memory implementation that works for server-side code
  • Automatic bearer injection + refresh token retry logic with a session-expired callback
  • A lightweight SRWP (Savant Realms Whispering Protocol) discovery client

Getting Started #

Add the dependency to your Dart or Flutter project:

dart pub add federated_auth_realm_sdk_dart

Initialize the client #

import 'package:federated_auth_realm_sdk_dart/federated_auth_realm_sdk_dart.dart';

final authClient = FederatedAuthClient(
  baseUrl: 'https://api.federatedauthrealm.com/v1',
  appKey: 'federated-auth-realm',
  onSessionExpired: () {
    // e.g. redirect user to login page
  },
);

Register or Login #

final auth = await authClient.login(
  LoginRequest(email: 'user@example.com', password: 'secret'),
);

print('access token: \\${auth.accessToken}');
final profile = await authClient.getProfile();

Token helpers #

final accessToken = await authClient.getAccessToken();
await authClient.setSessionTokens(
  accessToken: 'existing-access',
  refreshToken: 'existing-refresh',
);

SRWP discovery #

final srwp = SRWPDiscoveryClient('https://api.federatedauthrealm.com/v1');
final knownRealms = await srwp.getKnownRealms();
await srwp.bootstrap('https://another-realm.example.com');

The SRWP client automatically normalizes the provided base URL so that /srwp endpoints are targeted even if you pass the public /v1 API URL.

Development #

dart pub get
dart format .
dart test

Deployment & CI #

  • Use scripts/deploy.sh to run formatting, static analysis, unit tests, and dart pub publish --dry-run before optionally publishing (configure credentials via .env or environment variables).
  • GitHub Actions (.github/workflows/ci.yml) keeps formatting/analyze/test checks green on pushes and pull requests, with a manual workflow option for a dry-run deploy.
0
likes
150
points
31
downloads

Documentation

API reference

Publisher

verified publishersavantrealms.com

Weekly Downloads

Dart SDK for interacting with the Savant Realms Federated Auth Realm API, providing auth helpers and SRWP discovery utilities.

Homepage

License

MIT (license)

Dependencies

http, meta

More

Packages that depend on federated_auth_realm_sdk_dart