メインコンテンツへスキップ
パスワードの強度 機能を利用できるのはデータべース接続に対してのみです。ソーシャル・エンタープライズ接続でのパスワードの複雑さは、各プロバイダーによって規定されます。
認証にパスワードを使用する場合、パスワードの強度が重要な懸念事項となります。強力なパスワードポリシーにより、手動または自動で誰かがパスワードを推測することは、不可能ではないにしても困難になります。 強力なパスワードとは、次のような特徴を持つパスワードを指します。
  • パスワードの長さ :パスワードが長くなると、文字の組み合わせが多くなり、推測が難しくなります。10文字未満のパスワードは弱いとみなされます。
  • パスワードの複雑さ :大文字と小文字、数字、特殊文字を組み合わせたパスワードが推奨されます。
  • パスフレーズ :文章や単語の組み合わせは、通常のパスワードよりもはるかに長くなりますが、覚えやすくなります。

パスワードポリシー

Auth0のパスワード強度機能を使用すると、ユーザーのサインアップ時に入力されるパスワードの強制的な複雑さのレベルをカスタマイズできます。Auth0は、OWASPパスワード推奨事項に準拠した5つのセキュリティレベルを提供します。 各レベルで、新しいパスワードは次の基準を満たす必要があります。
  • なし (デフォルト):任意のタイプの文字が少なくとも1つ。
  • :少なくとも6文字。
  • 適正 :小文字、大文字、数字を含む8文字以上。
  • 良好 :小文字、大文字、数字、特殊文字(!@#$%^&*など)の4種類の文字のうち少なくとも3種類を含む8文字以上。
  • 優秀 :小文字、大文字、数字、特殊文字(!@#$%^&*など)の4種類の文字のうち少なくとも3種類を含む10文字以上。連続する同一文字は2文字までです(例:111は許可されません)。
Auth0 Dashboard管理者のパスワードポリシーは、Fair(普通) レベルとして設定された基準を反映します。

パスワードの最小長

「パスワードポリシー」のセクションで説明されているポリシー強度要件とは関係なく、パスワードの最小長要件を設定できます。 設定可能なパスワードの最小長は1バイト、最大長は72バイトです。
上限は、使用しているパスワードハッシュアルゴリズムによって異なります。
より高いレベルのパスワードポリシーを選択しても、最小長の値を指定しない場合は、ポリシーレベルのパスワード最小長が自動的に使用されます。
パスワードポリシーレベルパスワードの最小の長さ
None(非常に弱い)1
Low(弱い)6
Fair(中)8
Good(強い)8
Excellent(非常に強い)10
パスワードの最小長を指定した場合、この値はパスワードポリシーで指定された値よりも優先されます。

ユニバーサルログインページを使用する場合のパスワードの最小長

ユニバーサルログインページまたはユニバーサルログインパスワードリセットページのいずれかを使用しており、パスワードの最小長の値を設定する場合は、Auth0 Dashboardを使用していくつかの追加の構成手順を完了する必要があります。

ホストされたパスワードリセットページを使用する場合のパスワードの最小長を設定する

カスタマイズされたパスワードリセットページを使用しており、パスワードの長さパラメーターを設定する場合は、次の手順を実行する必要があります。 1.テンプレートを更新してライブラリバージョン1.5.1以降を含める 2.新しいパラメーターを活用するためにpassword_complexity_optionsを追加する パスワードリセットページを更新しない場合、Auth0はパスワード最小長を設定する試みを無視します。
ステップ1:パスワード変更ライブラリのバージョンを更新する
新しいパスワードの最小長機能を使用するには、使用するパスワード変更ライブラリをバージョン1.5.1(またはそれ以降)に更新する必要があります。
<script src="https://cdn.auth0.com/js/change-password-1.5.1.min.js"></script>
ステップ2:新しいパラメーターを活用するためにpassword_complexity_optionsを追加する
新しいパラメーターを活用するためにpassword_complexity_optionsを追加する必要があります。次のように、このオプションをページのスクリプトに追加します。
<script>
    //code omitted for brevity
    new Auth0ChangePassword({
    container:                    "change-password-widget-container",     // required
    email:                        '{{email}}',                            // DO NOT CHANGE THIS
    csrf_token:                   '{{csrf_token}}',                       // DO NOT CHANGE THIS
    ticket:                       '{{ticket}}',                           // DO NOT CHANGE THIS
    password_policy:              '{{password_policy}}',                  // DO NOT CHANGE THIS
    password_complexity_options:  {{password_complexity_options}}         // DO NOT CHANGE THIS

    //code omitted for brevity

  });
</script>
一番下までスクロールして [Save(保存)] を選択します。

ユニバーサルログインページを使用する場合のパスワードの最小長を設定する

カスタマイズされたログインページを使用しており、パスワードの長さパラメーターを設定する場合は、Lockバージョン11.9以降を使用するようにページを更新する必要があります。
<script src="https://cdn.auth0.com/js/lock/11.9/lock.min.js"></script>
一番下までスクロールして [Save(保存)] を選択します。

ポリシーを変更

パスワード長さポリシーを変更するには、[Auth0 Dashboard(Auth0ダッシュボード)]>[Authentication(認証)]>[Database(データベース)]の順に移動します。更新するデータベース接続を選択し、「認証方法」タブを選択します。パスワードセクションで「構成」を選択し、パスワードの強度 セクションを見つけます。
Auth0 Database Authentication - Password Policy - Password Strength
新しいポリシーは、以降のすべてのユーザーサインアップとパスワード変更に適用されます。ユーザーが必要な基準に一致しないパスワードを入力した場合、そのパスワードはAuth0によって拒否され、ユーザーはこれらの要件に準拠するパスワードを作成するように求められます。
ポリシーの変更前に作成された既存のパスワードは、引き続き検証されます。

ロック

パスワードポリシーを有効にすると、パスワードが必要な基準を満たしていない場合は、サインアップおよびパスワードロックモードのリセット時にユーザーに通知されます。 デスクトップ上のロックの表示は次のようになります。
Auth0 Lock Password Strength checks on Desktop
モバイルの場合:
設定します0 ラッキョウ文芸的プログラミングバッファオーバーラン正直の頭に神宿るつる座ホルムアルデヒド
入力したパスワードがAuth0に拒否されると、通知が英語で表示されます。通知を別の言語で表示したい場合は、クライアント側で翻訳する必要があります。

カスタムサインアップエラー

サインアップエラーが発生すると、400 HTTPステータスコードが返されます。パスワードが選択したパスワードポリシーの基準を満たしていない場合、JSON応答にはcode: invalid_passwordが含まれます。 応答には、選択されたパスワードのどこが間違っているかをユーザーに案内するために使用できる追加情報も含まれます。
  • messageは、printf関数(またはNode.js util.format)を使用してフォーマットする準備が整いました。
  • formatは、message内で使用される値を含む配列です。(messageformatとは別になっているため、カスタムUIでのエラーメッセージのi18nが容易になります。)
  • verifiedtrueまたはfalseのいずれかになります。ルールに違反した場合はfalseを返します。
一部のルールは複合ルールです。ルールには、どのサブルールが失敗したかを示すitems(項目)フィールドが含まれることがあります。各サブルールには、message(と、必要に応じてformat)があります。

これは、パスワードがhelloである良好なポリシーからのサンプルのdescriptionエラーレポートです。
{
  "rules":[
    {
      "message":"At least %d characters in length",
      "format":[8],
      "verified":false
    },
    {
      "message":"Contain at least %d of the following %d types of characters:",
      "format":[3,4],
      "items":[
        {
          "message":"lower case letters (a-z)",
          "verified":true
        },
        {
          "message":"upper case letters (A-Z)",
          "verified":false
        },
        {
          "message":"numbers (such as 0-9)",
          "verified":false
        },
        {
          "message":"special characters (such as !@#$%^&*)",
          "verified":false
        }
      ],
      "verified":false
    }
  ],"
  verified":false
}
これは、パスワードがhello1234である良好なポリシーからのサンプルのdescriptionエラーレポートです。
{
    "rules":[
      {"message":"At least %d characters in length","format":[8],"verified":true},
      {"message":"Contain at least %d of the following %d types of characters:","format":[3,4],
        "items":[
          {"message":"lower case letters (a-z)","verified":true},
          {"message":"upper case letters (A-Z)","verified":false},
          {"message":"numbers (such as 0-9)","verified":true},
          {"message":"special characters (such as !@#$%^&*)","verified":false}
        ],"verified":false}
      ],"
      verified":false
    }

パスワードオプション

ここで説明したパスワード強度機能に加えて、データベース接続のパスワードポリシー設定には、接続のパスワードポリシーをさらに強化し、ユーザーがより安全なパスワードを使用できるようにするさまざまなパスワードオプションも含まれています。詳細については、「パスワードオプション」をお読みください。
I