メインコンテンツへスキップ

スタートガイド

GitHub

AIアシストによるセットアップでプラグインをインストールできます。以下のコマンドを使用して、お使いのAIツールに Capgo のスキルを追加してください:

ターミナル
bunx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

次に、以下のプロンプトを使用します:

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-neon` plugin in my project.

手動セットアップを希望する場合は、以下のコマンドを実行してプラグインをインストールし、下記のプラットフォーム別の手順に従ってください:

ターミナル
bun add @capgo/capacitor-neon
bunx cap sync
  1. 有効にする Neon Auth ブランチで(Console > Auth、または neon neon-auth enable).
  2. その API データ データベースヘルパーが必要な場合は、同じブランチで(Console > Data API、プロバイダーは Neon Auth)。
  3. 以下をコピー 認証URL と API データ URL Console から取得します。

Neon Auth は信頼できるオリジンからのリクエストのみを受け入れます。localhost はデフォルトで信頼されており、プラグインは Origin: https://localhostを送信するため、新しいブランチでも変更なしで動作します。localhost を無効にする場合は、ドメインを信頼済みドメインに追加し、 origin まで initialize().

メールおよび OTP によるサインインには追加のセットアップは不要です。このプラグインは URLSession と Keychain を使用し、サードパーティの依存関係はありません。

OAuth の場合、 redirectTo をアプリを開く信頼できる https Universal Link に設定してください。Neon Auth はカスタム URL スキームを redirectToとして拒否します。アプリでカスタムスキームを使用している場合は、そのスキームに neon_auth_session_verifier クエリパラメータを転送する信頼できる HTTPS コールバックページをホストしてください。

メールおよび OTP によるサインインには追加のセットアップは不要です。このプラグインは Capacitor 8 のデフォルトの最低 SDK 24(Android 7.0)で動作します。

OAuth の場合、 redirectTo を信頼できる https App Link に設定してください。これはアプリを開きます。Neon Auth はカスタム URL スキームを redirectToとして拒否します。アプリでカスタム スキームを使用する場合は、 neon_auth_session_verifier クエリ パラメータをそのスキームに転送する信頼できる HTTPS コールバック ページをホストしてください。

  • リスナー: 画面がアンマウントされたらハンドルを削除します。
  • 一度だけ初期化: アプリの起動時にセットアップを実行します。
  • OAuth リダイレクト: Neon Auth は信頼できるもののみを受け入れます https 〜のURL redirectTo (平文 http は信頼できる localhost でのローカルテストにのみ使用できます)。カスタム URL スキームは拒否されます。Universal Link または App Link、あるいは信頼できる HTTPS ページを使用してください。 neon_auth_session_verifier クエリパラメータをアプリの URL スキームに転送します。
  • 信頼できる情報源: 信頼 src/definitions.ts GitHub リポジトリ内。
import { CapacitorNeon } from '@capgo/capacitor-neon';
await CapacitorNeon.initialize({
authUrl: 'https://ep-xxx.neonauth.us-east-2.aws.neon.tech/neondb/auth',
dataApiUrl: 'https://ep-xxx.apirest.us-east-2.aws.neon.tech/neondb/rest/v1',
});
const { session, user } = await CapacitorNeon.signInWithPassword({
email: 'user@example.com',
password: 'password123',
});
console.log('User', user?.id);
console.log('JWT available', Boolean(session?.accessToken));

もし サインアップ時のメール確認 がブランチで有効になっています。 signUp() ユーザーがメールに送られた code を確認するまでセッションを返しません。

import { CapacitorNeon } from '@capgo/capacitor-neon';
const { session } = await CapacitorNeon.signUp({
email: 'newuser@example.com',
password: 'password123',
name: 'John Doe',
});
if (!session) {
await CapacitorNeon.verifyOtp({
email: 'newuser@example.com',
token: '123456',
type: 'signup',
});
}

認証状態の変化を検知する

「認証変更の監視」セクション
const listener = await CapacitorNeon.addListener('authStateChange', ({ event, session }) => {
console.log('Auth event', event);
console.log('Current JWT available', Boolean(session?.accessToken));
});
// Call listener.remove() when the screen unmounts.

このパターンを使用する場合、JavaScript クライアントをインストールします:

ターミナル
bun add @neondatabase/neon-js
import { CapacitorNeon } from '@capgo/capacitor-neon';
import { createClient } from '@neondatabase/neon-js';
const neon = createClient({
dataApi: {
url: 'https://ep-xxx.apirest.us-east-2.aws.neon.tech/neondb/rest/v1',
getToken: async () => (await CapacitorNeon.getSession()).session?.accessToken ?? null,
},
});
const { data } = await neon.from('table').select('*');
console.log('Row count', data?.length ?? 0);
const { data, error } = await CapacitorNeon.select({
table: 'users',
columns: 'id, name, email',
filter: { active: true },
limit: 10,
orderBy: 'created_at',
ascending: false,
});
if (error) {
console.error('Select failed', error);
} else {
console.log('Rows returned', data?.length ?? 0);
}

誰もサインインしていない場合、データベースヘルパーは匿名の Data API トークンを使用するため、 anonymous ロールを適用します。

  • 認証とセッション管理には、このプラグインを使用してください。
  • 高度なクエリは以下で実行できます: @neondatabase/neon-js.
  • 保持 オブジェクトストレージ と AI Gateway Neon Functionまたは独自のAPI内での呼び出しです。どちらも、アプリのbundleに含めてはいけないブランチ認証情報を使用します。これらのサービスのURLは公開されているため、アクセスする前にNeon Functionsへのリクエストを認証してください。
  • 必要に応じて、ネイティブJWTをJavaScriptクライアント、Neon Functions、または独自のAPIに渡してください。

Getting Startedの続きを進める

「Getting Started からの続き」セクション

使用している場合 スタートガイド ネイティブプラグインの作業を計画するには、次と連携してください: Capgo プラグインディレクトリ Capgo プラグインディレクトリのプロダクトワークフローについては、 Capgo による Capacitor プラグイン Capgo による Capacitor プラグインの実装詳細については、 プラグインの追加または更新 プラグインの追加または更新に関する実装詳細については、 Ionic Enterprise プラグインの代替案 Ionic Enterprise Plugin Alternatives のプロダクトワークフロー、および Capgo Native Build Capgo Native Builds のプロダクトワークフローについては、