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

Choose your framework/language

Gen1 DocsLegacy

Page updated Apr 24, 2026

パスワードレス

Amplifyは、以下の方法を使用したパスワードレス認証フローに対応しています:

パスワードレス認証により、従来のパスワードに関連するセキュリティリスクとユーザーの手間が軽減されます。

MFAとパスワードレスは一緒に使用することはできません。 Amazon Cognito は、同じユーザーに対して MFA とパスワードレスサインイン (パスキー、SMS OTP、Email OTP を含む) の両方を有効にすることはサポートしていません。ユーザーが MFA を設定している場合、パスワードレスサインインオプションは利用できません。詳細については、Amazon Cognito MFA の前提条件を参照してください。

パスワードレス認証の設定

defineAuth 設定でパスワードレス認証方法を直接有効にできます。パスワードレス方法は従来のパスワードベースの認証と一緒に使用され、ユーザーに複数のサインインオプションを提供します。

amplify/auth/resource.ts
import { defineAuth } from '@aws-amplify/backend';
export const auth = defineAuth({
loginWith: {
email: {
otpLogin: true // Email OTP を有効化
}
}
});

複数のパスワードレス方法を同時に有効にできます:

amplify/auth/resource.ts
import { defineAuth } from '@aws-amplify/backend';
export const auth = defineAuth({
loginWith: {
email: {
otpLogin: true // Email OTP を有効化
},
phone: {
otpLogin: true // SMS OTP を有効化
},
webAuthn: true // WebAuthn パスキーを有効化
}
});

SMS OTP

SMS ベースの認証は、電話番号を識別子として、テキストメッセージを検証チャネルとして使用します。高いレベルでは、エンドユーザーは認証のために次の手順を実行します:

  1. ユーザーがサインアップ/サインイン時に電話番号を入力します
  2. 時間制限のあるコードを含むテキストメッセージを受け取ります
  3. ユーザーがコードを入力すると認証されます

SMS OTP の設定

電話ログイン設定で otpLogin: true を設定して SMS OTP を有効にします:

amplify/auth/resource.ts
import { defineAuth } from '@aws-amplify/backend';
export const auth = defineAuth({
loginWith: {
phone: {
otpLogin: true
}
}
});

SMS ベースのワンタイムパスワードでは、Amazon Cognito ユーザープールがテキストメッセージを送信するために Amazon Simple Notification Service (SNS) を使用するように設定されている必要があります。auth リソースを SNS で設定する方法を学習してください

アプリケーションコードで SMS OTP を使用する方法の詳細を学習してください

Email OTP

メールベースの認証は、メールアドレスを識別と検証に使用します。高いレベルでは、エンドユーザーは認証のために次の手順を実行します:

  1. ユーザーがサインアップ/サインイン時にメールアドレスを入力します
  2. 時間制限のあるコードを含むメールメッセージを受け取ります
  3. ユーザーがコードを入力すると認証されます

Email OTP の設定

メールログイン設定で otpLogin: true を設定して Email OTP を有効にします:

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

メールベースのワンタイムパスワードでは、Amazon Cognito ユーザープールがメールメッセージを送信するために Amazon Simple Email Service (SES) を使用するように設定されている必要があります。auth リソースを SES で設定する方法を学習してください

アプリケーションコードで Email OTP を使用する方法の詳細を学習してください

WebAuthn パスキー

WebAuthn は生体認証またはセキュリティキーを認証に使用し、デバイス固有のセキュリティ機能を活用します。高いレベルでは、エンドユーザーは認証のために次の手順を実行します:

  1. ユーザーがパスキーの登録を選択します
  2. デバイスが生体認証/セキュリティキーの検証を促します
  3. 今後のログインでは、同じ方法を使用して認証します

WebAuthn の設定

認証設定で WebAuthn パスキーを有効にします。最もシンプルな設定は自動的な証明者 ID 解決を使用します:

amplify/auth/resource.ts
import { defineAuth } from '@aws-amplify/backend';
export const auth = defineAuth({
loginWith: {
email: true, // ユーザーはサインアップ方法が必要です
webAuthn: true // 証明者 ID を自動的に解決します
}
});

webAuthn: true を使用する場合、証明者 ID は自動的に解決されます:

  • サンドボックス環境では: localhost に解決されます
  • ブランチデプロイメントでは: Amplify アプリドメイン (例: [branch].[appId].amplifyapp.com) に解決されます

本番環境またはカスタムドメインの場合は、証明者 ID を明示的に指定します:

amplify/auth/resource.ts
import { defineAuth } from '@aws-amplify/backend';
export const auth = defineAuth({
loginWith: {
email: true,
webAuthn: {
relyingPartyId: 'example.com',
userVerification: 'required' // または 'preferred' (デフォルト)
}
}
});

アプリケーションコードで WebAuthn パスキーを使用する方法の詳細を学習してください

認証情報の管理

WebAuthn を使用したパスワードレス認証では、ユーザーの Amazon Cognito アカウントに 1 つ以上の認証情報を関連付ける必要があります。Amplify は各プラットフォームのローカル認証機器と統合する API を提供し、これらの認証情報の関連付けを簡単に作成、表示、削除できます。

WebAuthn 認証情報の管理の詳細を学習してください

パスワードレス認証

パスワードレス認証方法を有効にする場合、従来のパスワード認証は引き続き利用可能です。これにより、ユーザーは優先する認証方法を柔軟に選択できます:

amplify/auth/resource.ts
import { defineAuth } from '@aws-amplify/backend';
export const auth = defineAuth({
loginWith: {
email: {
otpLogin: true // Email OTP がパスワード認証と一緒に有効化される
}
}
});

この設定では、ユーザーは以下のいずれかを使用して認証できます:

  • メールとパスワード (従来)
  • Email OTP (パスワードレス)

複数のパスワードレス方法を有効にして、ユーザーにさらに多くのオプションを提供できます:

amplify/auth/resource.ts
import { defineAuth } from '@aws-amplify/backend';
export const auth = defineAuth({
loginWith: {
email: {
otpLogin: true
},
phone: {
otpLogin: true
},
webAuthn: {
relyingPartyId: 'example.com'
}
}
});

この設定では、ユーザーは以下を使用して認証できます:

  • メールとパスワード
  • Email OTP
  • 電話とパスワード
  • SMS OTP
  • WebAuthn パスキー

WebAuthn を使用する場合、ユーザーは最初にサインアップするための方法 (メールまたは電話) が必要です。その後、WebAuthn 認証情報が彼らのアカウントに関連付けられ、将来のサインインに使用されます。

次のステップ