コンテンツへスキップ
supastack
ドキュメントを閲覧
WebNext.js

For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /ja/docs/web/github-sign-in.md (or send Accept: text/markdown).

GitHub サインインを追加

環境ごとに GitHub OAuth アプリを作成し、「GitHub で続行」をアプリに組み込みます。

このガイドについて質問
開くアプリ

初心者向けのウォークスルー

前提条件:ローカルで動作する Web アプリと、実アカウント用の移行済みデータベース。GitHub アカウントが必要です——リポジトリを所有しているものと同じアカウントで構いません。無料で、環境あたり約 5 分です。

用語メモ:GitHub OAuth アプリは、GitHub があなたの代わりにユーザーをサインインさせるための登録です。ほとんどのプロバイダーと異なり、1 つの OAuth アプリは Authorization callback URL(認証コールバック URL)をちょうど 1 つしか許可しません——そのためローカル(http://localhost:3000/…)と本番(https://yourdomain.com/…)にはそれぞれ独自のアプリが必要です。1 つのアプリを使い回してコールバックを行き来させると、毎回どちらか一方が壊れます。

1. アカウントの Developer settings(開発者設定)でローカル用 OAuth アプリを作成します。2. Client ID(クライアント ID)をコピーし、Client Secret(クライアントシークレット)を生成します。3. 3 つの環境変数を設定して再起動します。4. 公開前に実際のドメインでもう一度繰り返します。

ローカル用 OAuth アプリを作成する

1. github.com を開いてサインインします。右上のプロフィール写真をクリック → Settings(設定)。

2. 左サイドバーの一番下までスクロールし、Developer settings → OAuth Apps → New OAuth App(開発者設定 → OAuth アプリ → 新しい OAuth アプリ)を開きます。

3. Application name(アプリケーション名):supastack local のような名前——この名前が GitHub の認証ページでユーザーに表示されます。Homepage URL(ホームページ URL):http://localhost:3000。Authorization callback URL(認証コールバック URL):http://localhost:3000/api/auth/callback/github。Register application(アプリケーションを登録)をクリックします。

4. アプリのページで Client ID(クライアント ID)をコピーし、Generate a new client secret(新しいクライアントシークレットを生成)をクリックして、シークレットをすぐにコピーします——GitHub は一度しか表示しませんが、いつでも別のものを生成できます。

本番用 OAuth アプリを作成する

製品名、Homepage URL https://yourdomain.com、Authorization callback URL https://yourdomain.com/api/auth/callback/github で、同じ New OAuth App の手順を繰り返します。

各アプリの認証情報はそれぞれの環境に保管してください。ローカルアプリのペアは apps/web/.env.local に、本番アプリのペアはホストのシークレットストアに置きます。ローカルのシークレットが本番設定に入り込んではいけません。その逆も同様です。

値をアプリに追加する

ローカルアプリの認証情報を使って、apps/web/.env.local に以下の 3 行を設定します。AUTH_GITHUB_ENABLED=true がボタンを有効にし、このペアが OAuth アプリを識別します。

クライアントシークレットはサーバー専用のままです——NEXT_PUBLIC_/EXPO_PUBLIC_ 変数には入れず、コミットもしません。編集後は開発サーバーを再起動してください。

他で見かけるかもしれない GITHUB_APP_* の値は再利用しないでください——それらはユーザーサインインではなく、無関係の GitHub App 統合のものです。キットの docs/github-auth-setup.md が、このフロー全体を端から端まで案内する別の参考資料になります。

# apps/web/.env.local — from the LOCAL OAuth App
AUTH_GITHUB_ENABLED=true
GITHUB_CLIENT_ID=your-oauth-app-client-id
GITHUB_CLIENT_SECRET=your-oauth-app-secret

確認とトラブルシューティング

http://localhost:3000/auth を開き、GitHub ボタンをクリックします。github.com でアプリを認証し、サインイン状態で戻ってくることを確認します。

AUTH_GITHUB_ENABLED=true を設定するまで、/auth の GitHub オプションは表示されたまま無効です——env ファイルの名前を確認してから再起動してください。GITHUB_CLIENT_ID と GITHUB_CLIENT_SECRET の両方なしにフラグを設定すると起動が失敗し、不足している変数が指摘されます。

コールバックの不一致がよくある失敗です。アプリの Authorization callback URL は {APP_URL}/api/auth/callback/github と正確に一致する必要があります——プロトコル、ホスト、ポート、パスのすべて。デプロイ後の redirect_uri エラーは通常、APP_URL が本番を示しているのにリクエストがローカルアプリの認証情報に当たったか、その逆を意味します。

env を編集するたびに開発サーバーを再起動してください。値は起動時にのみ読み込まれます。

設定を続けるには、Apple サインインを追加をご覧ください。

よくある質問

14 件の質問

supastack とは何ですか?

supastack は AI SaaS 製品を構築するためのモジュラー基盤です。共通インフラをまとめて提供するので、製品固有の機能に集中できます。

Web とモバイルに対応していますか?

はい。supastack には Web とモバイル体験の出発点として Next.js アプリと Expo アプリが含まれています。

どの認証が含まれていますか?

Better Auth がメール/パスワード、OTP、ソーシャルログインをカバーします。個人ワークスペースはアカウントと一緒にプロビジョニングされ、初日からレコードが境界内に収まります。

AI はどうサポートされていますか?

supastack には設定可能なマルチプロバイダー AI、使用量追跡、予算、暗号化された自前キー(BYOK)サポートが含まれています。

サブスクリプションはどう管理されますか?

このキット上に構築された製品では、Stripe 課金・サブスクリプション・権限が有料アクセスの基盤になります。プロバイダーの秘密はサーバー側に留まります。

製品固有のコードはどこに置きますか?

製品固有の機能は別のコードベースに置き、製品側が supastack の基本モジュールを設定・統合します。

supastack の価格は?

キットは生涯アップデート付きの一回払いです:単一フレームワーク 249 ドル(期間限定のローンチ価格 — 通常価格 349 ドルから 100 ドル割引)、または全フレームワーク(Next.js・iOS・Android)499 ドル(期間限定のローンチ価格 — 通常価格 599 ドルから 100 ドル割引)、追加開発者シート 1 席 75 ドル。キットのサブスクリプションはありません。このサイトのチェックアウトはライセンスキーをメールで配信し、GitHub 招待でリポジトリアクセスを提供します。

ワークスペースはどうデータを囲いますか?

ユーザーレコードは workspaceId でスコープされます。認証、権限、AI 使用量、課金イベント、監査エントリは個人ワークスペースの境界内に留まります。

バックグラウンドジョブはどう機能しますか?

Trigger.dev が明示的なジョブランタイムです。JobRunner コントラクトは enqueue・status・cancel のみを約束し、ワークフロー意味論は Trigger.dev 固有で明示的です。

メールとアウトリーチの違いは?

トランザクションメールはタスク完了通知などの製品ワークフローをカバーします。コールドアウトリーチやキャンペーンは製品自身に属し、このキットのメールモジュールの外です。

モバイルの購入はどのように機能しますか?

モバイルでは RevenueCat によるネイティブ購入と復元に対応し、アクセス権をサーバーで検証します。公開前にストアアカウントを設定し、実機テストを完了してください。Web 課金は別に管理します。

AI プロバイダーのキーはどこにありますか?

BYOK 認証情報は暗号化され、サーバー側に留まります。キーはログでサニタイズされ、使用量と予算はワークスペースレベルで可視です。

チェックアウトで使える支払い方法は?

Stripe ホストのチェックアウトはカードを受け付け、Stripe アカウントでウォレットを有効にすれば Alipay と WeChat Pay も提供できます——中国の購入者に便利です。ウォレット認可は非同期で確定するため、決済完了と同時にライセンスページが更新されます。

返金を受けることはできますか?

リポジトリへのアクセス権を取得した後は、supastack は永久にあなたのものとなるため、返金はできません。ですがご安心ください。生涯アップデートを含む完全なソースコードを入手し、ご自身やクライアントのために無制限にプロダクトを構築・公開できます。コードの転売や、リポジトリをスターターキットやテンプレートとして再配布することのみ禁止されています。

JA
テーマ