thefaithapp_auth 0.1.0 copy "thefaithapp_auth: ^0.1.0" to clipboard
thefaithapp_auth: ^0.1.0 copied to clipboard

Hosted member authentication and authorized v1 API access for TheFaithApp Flutter applications.

TheFaithApp Auth for Flutter #

thefaithapp_auth opens TheFaithApp-hosted member sign-in and returns a member bearer token for the v1 API. It handles state validation, S256 PKCE, callback capture, code exchange, secure session storage, API headers, and logout.

Use the client API key from Settings > Developer Access to initialize the package. The member session is stored securely on the device.

Install #

dependencies:
  thefaithapp_auth: ^0.1.0

Configure the callback #

The default callback is derived from the consuming app's application ID:

<application-id>.thefaithapp://auth/callback

For com.example.church, open Settings > Developer Access, select Add Flutter app, and enter:

com.example.church.thefaithapp

The dashboard saves this Redirect URL automatically:

com.example.church.thefaithapp://auth/callback

Android callback registration is contributed automatically by the plugin. Application IDs containing underscores cannot be used as URL schemes; prefer a standard reverse-domain ID containing letters, numbers, dots, or hyphens.

On iOS, enable Keychain Sharing for the Runner target so the default secure session store can persist the bearer token. No callback URL type is required for the system authentication session.

Sign in #

import 'package:thefaithapp_auth/thefaithapp_auth.dart';

final auth = TheFaithAppAuth(apiKey: 'your-client-key');
final callback = await auth.callbackUri;
final session = await auth.signIn();

print(session.member.name);
// Use session.accessToken when direct access to the bearer token is required.

Do not log or include session.accessToken in crash reports.

Call the v1 API #

The authorized client only sends credentials to the configured TheFaithApp API origin.

final client = auth.authorizedClient();
try {
  final response = await client.get(auth.apiUri('/v1/user'));
  print(response.statusCode);
} finally {
  client.close();
}

Restore and sign out #

final savedSession = await auth.currentSession();
await auth.signOut(); // Revokes the server token and removes the secure copy.
auth.dispose();

See the example app for a complete integration.

License #

TheFaithApp Auth is available under the MIT License.

0
likes
160
points
86
downloads

Documentation

API reference

Publisher

verified publisherthefaithapp.com

Weekly Downloads

Hosted member authentication and authorized v1 API access for TheFaithApp Flutter applications.

Homepage
Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

crypto, flutter, flutter_secure_storage, flutter_web_auth_2, http, package_info_plus

More

Packages that depend on thefaithapp_auth

Packages that implement thefaithapp_auth