AbsoluteJS

Auth Expo

@absolutejs/auth-expov0.0.6betaNative Apps

Expo native runtime adapter for @absolutejs/auth

#Installation

BASH
bun add @absolutejs/auth-expo

#Capabilities

Overview

Expo native-runtime adapter for @absolutejs/auth.

AbsoluteJS provisions this package automatically for mobile.engine: 'expo' applications that depend on @absolutejs/auth. It connects the existing native OAuth client to Expo WebBrowser, Linking, SecureStore, and AppState while keeping access and refresh credentials outside embedded WebViews.

Application code continues to use @absolutejs/auth/client; it does not import this adapter directly.

Show 1 more

The package is experimental while AbsoluteJS Expo support remains experimental.

Outcomes

What you can build

Overview

Expo native-runtime adapter for @absolutejs/auth.

Hardening checklist

Production guidance

Make every external boundary explicitPin the deployed @absolutejs/auth-expo version, replace example or memory-backed dependencies with durable implementations, bound external calls, protect credentials, and emit enough evidence to retry or recover safely.

Follow in order

Troubleshooting path

1
Trace from the first failed boundary
Reproduce the smallest canonical @absolutejs/auth-expo example, confirm the supported entry point and version in the API explorer, then inspect the first boundary that did not produce its documented result.

#Public entry points

Supported entry points declared by this project’s package manifest. Internal dist paths are not part of the package contract.

@absolutejs/auth-expoPublic package entry point declared in package.json.

#Package commands

Scripts declared by this project’s package manifest.

bun run buildbun build src/index.ts --outdir dist --target=browser --external @absolutejs/auth --external @noble/curves --external expo-crypto --external expo-linking --external expo-secure-store --external expo-web-browser --external react-native && tsc -p tsconfig.build.json
bun run checkbun run typecheck && bun run test && bun run build && npm pack --dry-run
bun run check:packageabsolute-changelog check
bun run testbun test
bun run typechecktsc --noEmit

#API reference

Search the declarations exported by the current package type files. Expand a symbol to inspect its source-backed signature.

6 symbols
AbsoluteExpoAuthDependenciestypePermalink
TS
type AbsoluteExpoAuthDependencies = {
    appState: {
        addEventListener(type: 'change', listener: (state: string) => void): AppStateSubscription;
    };
    linking: {
        addEventListener(type: 'url', listener: (event: {
            url: string;
        }) => void): LinkSubscription;
        getInitialURL(): Promise<string | null>;
    };
    secureStore: {
        AFTER_FIRST_UNLOCK_THIS_DEVICE_ONLY: number;
        deleteItemAsync(key: string, options?: Record<string, unknown>): Promise<void>;
        getItemAsync(key: string, options?: Record<string, unknown>): Promise<string | null>;
        isAvailableAsync(): Promise<boolean>;
        setItemAsync(key: string, value: string, options?: Record<string, unknown>): Promise<void>;
    };
    webBrowser: {
        openAuthSessionAsync(url: string, redirectUrl: string): Promise<{
            type: string;
            url?: string;
        }>;
    };
};
Exported from @absolutejs/auth-expo