Name:
interface
Value:
Amplify has re-imagined the way frontend developers build fullstack applications. Develop and deploy without the hassle.
Gen1 DocsLegacy

Page updated Dec 3, 2025

Amplify Auth のセットアップ

Amplify Auth は Amazon Cognito により提供されています。Cognito は、ユーザー登録、認証、アカウント復旧、その他の操作を処理する堅牢なユーザーディレクトリサービスです。概念を確認してさらに学ぶ

認証リソースの定義を開始するには、認証リソースファイルを開くか作成します:

amplify/auth/resource.ts
import { defineAuth } from "@aws-amplify/backend"
/**
* Define and configure your auth resource
* @see https://docs.amplify.aws/gen2/build-a-backend/auth
*/
export const auth = defineAuth({
loginWith: {
email: true,
},
})

デフォルトでは、認証リソースは email をデフォルトのログインメカニズムとしてスキャフォルドされます。認証リソースを設定して以下でのサインインを許可することもできます:

  • 電話番号
  • 外部プロバイダー(Google、Facebook、Amazon、または Sign in with Apple)

注記: 最低限、ユーザーがアプリにサインインする方法を設定するために loginWith 値を渡す必要があります。値を指定しない場合は、メールとパスワードでのサインインがデフォルトで設定されます。

パスワードレス認証を有効化

パスワードレス認証方法を有効にして、より安全でユーザーフレンドリーなエクスペリエンスを提供できます:

amplify/auth/resource.ts
import { defineAuth } from '@aws-amplify/backend';
export const auth = defineAuth({
loginWith: {
email: {
otpLogin: true // Enable email-based one-time passwords
}
}
});

パスワードレス認証オプションについてさらに学ぶ

認証リソースをデプロイ

認証リソースを選択して定義した後、以下のコマンドを実行して、個人用クラウドサンドボックスにリソースを作成します。

Terminal
npx ampx sandbox

デプロイが成功した後、このコマンドは出力ファイル(amplify_outputs.json)も生成します。これにより、フロントエンドアプリがバックエンドリソースに接続できるようになります。バックエンド認証リソースで設定する値は、生成された出力ファイルに設定され、フロントエンドの Authenticator 接続コンポーネント が自動的に設定されます。

アプリケーションコードを認証リソースに接続

サインインフローを作成して正しく実装することは、複雑で時間がかかることがあります。Amplify の Authenticator UI コンポーネントはこれを簡素化し、アプリ全体の認証フローを迅速に構築できるようにします。コンポーネントは amplify/auth/resource.ts の設定とシームレスに連携して、バックエンドリソースに自動的に接続します。

Amplify には React、Vue、Angular、React Native、Swift、Android、Flutter 向けの事前構築 UI コンポーネントがあります。このガイドでは、Web アプリケーション向けのコンポーネントに焦点を当てています。

前提条件

Amplify ライブラリが統合されたアプリケーションと、以下のいずれかの最小ターゲット:

  • iOS 13.0Xcode 14.1 以上を使用)
  • macOS 10.15Xcode 14.1 以上を使用)
  • tvOS 13.0Xcode 14.3 以上を使用)
  • watchOS 9.0Xcode 14.3 以上を使用)
  • visionOS 1.0Xcode 15 以上を使用)(プレビューサポート - 詳細は以下を参照)

visionOS サポートは現在 プレビュー 段階で、最新の Amplify Release を使用することで利用できます。 新しい Xcode および visionOS バージョンがリリースされると、必要に応じた修正がベストエフォート ベースで更新されます。

注記: macOS プロジェクトで Amplify Auth を使用するには、キーチェーン共有機能を有効にする必要があります。Xcode で アプリケーションターゲット > 署名と機能 > + 機能 に移動して、キーチェーン共有 を選択します。

この機能は、Auth がプラットフォームのベストプラクティスとして macOS 上のデータ保護キーチェーンを使用するため必須です。macOS でのキーチェーンの動作とキーチェーン共有エンタイトルメントの詳細は、TN3137: macOS キーチェーン API と実装 を参照してください。

アプリケーションに機能を追加する詳細については、Xcode 機能 を参照してください。

生成されたファイルをプロジェクトに移動します。ファイルをプロジェクトにドラッグ&ドロップして行うことができます。

ユーザーが生成されたファイルを Xcode にドラッグ&ドロップすると、ダイアログが表示されます。ターゲット、追加されたフォルダ、宛先オプションが表示されます。デフォルト設定はドラッグ&ドロップで十分です。

Xcode でプロジェクトを開き、ファイル > パッケージを追加 を選択して、以下の依存関係を追加します:

次に、MyAmplifyAppApp.swift ファイルの init 部分を以下のコードで更新します:

MyAmplifyApp.swift
import Amplify
import Authenticator
import AWSCognitoAuthPlugin
import SwiftUI
@main
struct MyApp: App {
init() {
do {
try Amplify.add(plugin: AWSCognitoAuthPlugin())
try Amplify.configure(with: .amplifyOutputs)
} catch {
print("Unable to configure Amplify \(error)")
}
}
var body: some Scene {
WindowGroup {
Authenticator { state in
VStack {
Text("Hello, \(state.user.username)")
Button("Sign out") {
Task {
await state.signOut()
}
}
}
}
}
}
}

Authenticator コンポーネントをアプリに追加したら、サインアップ、サインイン、サインアウト機能をテストできます。また Authenticator 接続コンポーネントをカスタマイズ して、必要に応じて色とスタイルを調整することもできます。

次のステップ

Amplify アプリでメールとパスワードを使用した認証のセットアップが完了しました。さらに機能を追加したい場合は、以下について学ぶことをお勧めします: