OpenAM 14 Voice OTP 認証モジュール
利用手順書

OSSTech 株式会社
更新日

2022 年 7 月 14 日

リビジョン

1.1

目次
1

はじめに

1

1.1

機能概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

1.2

制限事項 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

システム構成

23

事前準備

3

3.1

属性とユーザーデータストアの設定 . . . . . . . . . . . . . . . . . . . . . .

3

3.2

Amazon Pinpoint の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

認証モジュールと認証連鎖の設定

84.1

認証モジュールの追加 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

84.2

認証連鎖の設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1145

認証時の操作

146

備考

176.1

認証モジュールの仕様 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

176.2

音声メッセージの設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

改版履歴

247i

1 はじめに本文書は、OSSTech 版 OpenAM14 に含まれる Voice OTP 認証モジュールの利用手順書です。

1.1 機能概要
Voice OTP 認証モジュールの機能について説明します。 Voice OTP 認証モジュールは、ユーザーに音声でワンタイムパスワードを通知する認証モジュールです。そのため、スマートフォンだけでなく、メールや SMS を利用することのできない固定電話などの電話機でもワンタイムパスワードを受け取ることが可能です。

1.2 制限事項
Voice OTP 認 証 モ ジ ュ ー ル で は 、ワ ン タ イ ム パ ス ワ ー ド の 送 信 に Amazon Pinpoint
を 利 用 し ま す 。 そ の た め 、Voice OTP 認 証 に は Amazon Pinpoint の 利 用 制 限 が 適 用されます。 Amazon Pinpoint の利用制限についての詳細は「Amazon Pinpoint クォータ
（https://docs.aws.amazon.com/ja_jp/pinpoint/latest/developerguide/quotas.html）」を参照してください。
本稼動時、音声チャネルには以下の利用制限が適用されます。
制限項目

制限数

24 時間以内に 1 人の受信者に送信できる音声メッセージの数

5

1 分あたりに送信できる音声メッセージの数

20

1 秒間に単一の発信元電話番号から送信できるメッセージの数

1

音声メッセージの長さ5分

12 システム構成
Voice OTP 認証モジュールのシステム構成について説明します。

図 1 システム構成

ユーザーが OpenAM にアクセスし、端末で ID / パスワード認証を行った後 OTP を要求すると、OpenAM が Amazon Web Services を利用してユーザーに電話機で OTP を通知します。 ユーザーは聞き取った OTP コードを OpenAM の認証画面に入力して認証を行います。

2

3 事前準備
Voice OTP 認証モジュールを使用するためには、以下の事前準備が必要です。
• OpenAM の初期設定• Voice OTP 認証モジュールと組み合わせて利用する認証モジュールの設定• 属性とユーザーデータストアの設定• Amazon Pinpoint の設定

3.1 属性とユーザーデータストアの設定
Voice OTP 認証モジュールを利用するために必要な属性とユーザーデータストアの設定について説明します。Voice OTP 認証モジュールは 1 日あたりの OTP コードの送信回数をユーザーごとに管理するため、ユーザーデータストアの属性に各ユーザーの送信日時と送信回数を保存します。保存する属性には任意の属性を指定することができますが、JSON 文字列を格納可能な属性に限ります。 OpenAM では、保存する属性用に OpenLDAP 用スキーマ
ファイル voice.schema を提供しています。ここでは、voice.schema を利用する場合の設定方法を説明します。

3.1.1 スキーマの有効化
以下の設定は OpenLDAP サーバーで行います。

1. /opt/osstech/etc/openldap/schema/ 以下にスキーマファイルを配置します。
2. /opt/osstech/etc/openldap/slapd.conf に下記の定義を追加します。
include /opt/osstech/etc/openldap/schema/voice.schema

3. OpenLDAP を再起動します。
# systemctl restart osstech-slapd

3.1.2 ユーザーデータストアの設定
voice.schema に定義された属性を利用する場合、OpenAM のデータストアにユーザー設定を追加する必要があります。

1. OpenAM の管理コンソールにログイン後、対象のレルムを選択します。
3

2.「データストア」を開き、対象のデータストアを選択します。
3.「ユーザー設定」の「LDAP ユーザーオブジェクトクラス」に am-auth-voice-otp-service、「LDAP ユーザー属性」に am-auth-voice-otp-counter を追加して「保存」を押下します。

図 2 ユーザー設定の追加

3.2 Amazon Pinpoint の設定
Voice OTP 認証モジュールでは、Amazon Web Services の Amazon Pinpoint サービスを利用して OTP コードを通知します。ここでは、サービスを利用するために必要な設定について説明します。下記の設定を行うためには Amazon Web Services のアカウン
トの作成が必要です。アカウントの作成方法については「AWS アカウント作成の流れ（https://aws.amazon.com/jp/register-ﬂow/）」を参照してください。

3.2.1 アクセスキーの取得
ア ク セ ス キ ー の 取 得 を 行 う た め に は「AWS ア カ ウ ン ト で の IAM ユ ー ザ ー の 作 成（https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_users_create.html）」を参照し、4

IAM ユーザーの作成後ユーザーのアクセスキーを取得します。 IAM ユーザー作成時、「アクセス許可の設定」で、サービス「Pinpoint SMS Voice」/ アクション「SendVoiceMessage」/
リソース「すべてのリソース」へのアクセスを許可する必要があります。アクセスキー IDとシークレットアクセスキーは認証モジュールの設定で必要になるため、控えておきます。

3.2.2 Amazon Pinpoint プロジェクトの作成
Amazon Pinpoint を利用するために Amazon Pinpoint プロジェクトを作成します。
1. AWS マネジメントコンソールにサインインし、サービス一覧から「Amazon Pinpoint」を開きます。

2. 右上のメニューから使用するリージョンを選択します。
「Amazon Pinpoint エンドポイントとクォータ > サービスエンドポイント > Ama-zon Pinpoint SMS および音声 API（https://docs.aws.amazon.com/ja_jp/general/latest/gr/
pinpoint.html#pinpoint-sms-voice）」に記載されているリージョンのみ利用可能です。
3.「プロジェクト名」を入力し、「プロジェクトを作成」ボタンを押下します。
4.「機能を設定する」ページで「このステップをスキップ」ボタンを押下します。

3.2.3 本稼動アクセスのリクエスト
Amazon Pinpoint の音声チャネルは初期状態ではサンドボックス内にあり、送信可能メッセージ数などに制限がかけられています。制限を解除するためには本稼動アクセスのリクエストを行う必要があり、本稼動アクセスのリクエストを行うためには音声テストを行う必要があります。音声テストの実行には専用の電話番号が必要になるため、初めに音声テスト用に電話番号を取得します。以下の手順で本稼動アクセスのリクエストを行います。

1. 音声テスト用の電話番号の取得
2. 音声テストの実行
3. 本稼動アクセスのリクエスト
3.2.3.1 音声テスト用の電話番号の取得
音声メッセージを送信するために利用される専用の電話番号を取得します。この電話番号は「ロングコード」と呼ばれるものです。
音 声 テ ス ト 用 の ロ ン グ コ ー ド に は 、特 別 な 申 請 が 不 要 な 米 国 の ロ ン グ コ ー ドを 利 用 し ま す 。「Amazon Pinpoint 音 声 チ ャ ネ ル の 管 理 > 電 話 番 号 の リ ク エ ス ト（https://docs.aws.amazon.com/ja_jp/pinpoint/latest/userguide/channels-voice-manage.html

5

#channels-voice-manage-request-phone-numbers）」を参照して米国のロングコードを取得します。

3.2.3.2 音声テストの実行「音声テスト用の電話番号の取得」で取得したロングコードを使用して音声テストを行います。

1.「Amazon Pinpoint プロジェクトの作成」で作成したプロジェクトを開きます。
2. 左のメニューから「メッセージングをテスト」を開きます。
3.「メッセージングをテスト」ページで以下の設定を行い、「メッセージを送信」ボタンを押下します。
設定項目

設定内容

チャネル

テストするチャネル（音声チャネル）

電話番号から「音声テスト用の電話番号の取得」で取得したロングコード

発信先の電話番号

テストメッセージの発信先電話番号

音声メッセージ

テストメッセージの内容

4. 発信先電話番号に指定した番号にテストメッセージが送信されることを確認します。
3.2.3.3 本稼動アクセスのリクエスト「Amazon Pinpoint 音声チャネルの管理 > 本稼動アクセスのリクエスト（https://docs.

aws.amazon.com/ja_jp/pinpoint/latest/userguide/channels-voice-manage.html#channels-voicemanage-sandbox）」を参照して本稼動アクセスのリクエストを行い、リクエストが承認されるのを待ちます。

3.2.4 認証用の電話番号の取得
認証時に利用する電話番号を取得します。「音声テスト用の電話番号の取得」で取得した電話番号は、認証時にも利用することが可能です。

Amazon Pinpoint コンソールから直接取得可能なロングコードは、限られた国のロングコードのみです。日本のロングコードを取得するためには AWS サポートセンターで新しい「アカウントおよび請求サポート AWS」ケースを作成して申請する必要があります。

Amazon Pinpoint では 1 秒間に単一の発信元電話番号から送信できるメッセージの数に制6限があり、その制限を上回る頻度でメッセージを送信することはできません。Voice OTP 認
証モジュールは OpenAM サーバー間で発信元電話番号の同期を行わないため、適当な数の電話番号が用意されていない場合、冗長構成時に適切な発信元電話番号が利用されない可能性があります。そのため、認証用の電話番号を少なくとも OpenAM サーバーの数と同数用意することを推奨しています。

7

4 認証モジュールと認証連鎖の設定
ここでは、Voice OTP 認証モジュールを利用するための設定方法を説明します。

4.1 認証モジュールの追加
1. OpenAM の管理コンソールにログイン後、対象のレルムを選択します。
2.「認証」→「モジュール」を開き、「モジュールの追加」を押下します。
3.「名前」に任意のモジュール名（ここでは Voice）を入力し、「種類」のドロップダウンリストから Voice OTP を選択します。

図 3 認証モジュールの作成

4.「作成」を押下し、認証モジュールの設定画面を開きます。

8

図 4 認証モジュールの設定

5. 各項目に設定を行い、「変更の保存」を押下します。
各項目の詳細は以下の通りです。
設定項目

設定内容

認証レベル

認証成功時にセットされる認証レベル

アクセスキー ID「アクセスキーの取得」で控えておいたアクセスキー ID

シークレットアクセス「アクセスキーの取得」で控えておいたシークレットアクセス

キー

キー

発信元電話番号「認証用の電話番号の取得」で取得した電話番号「ロングコード」または「サーバーホスト名a |ロングコード」のフォーマットで指定
a OpenAM 管理コンソールの「デプロイメント」→「サーバー」のサー

バー一覧の表示名からホスト名を抜き出した文字列です。

リージョンa「Amazon Pinpoint プロジェクトの作成」で選択したリージョンa 空欄の場合デフォルト値が使用されます。

9

設定項目

設定内容

国名コード属性a

ユーザーの「宛先電話番号属性」値が国番号付きでないときに使用する国名コードを格納している属性名a 必須ではありません。

属性値は ISO 3166-1 で規定されているアルファベット 2 文字の国名コード

デフォルトのユーザーの「宛先電話番号属性」値が国番号付きでなく、国名コードa「国名コード属性」を指定していないかユーザーが属性を持っていないときに使用される国名コードa 必須ではありません。

ISO 3166-1 で規定されているアルファベット 2 文字の国名コードで指定

宛先電話番号属性a

ユーザーの電話番号を格納している属性名a 空欄の場合デフォルト値が使用されます。

カウンタ属性「属性とユーザーデータストアの設定」で用意した OTP 通知
履歴を格納する属性名

最大 OTP 送信回数

1 日あたりに送信可能とする OTP メッセージ数
1~5 の数字が設定可能

ワンタイムパスワード

OTP コードを通知してから有効とする期間の有効期間（分）ワンタイムパスワード通知する OTP コードの長さの長さ

OTP コードの自動送信

Voice OTP の認証画面に遷移した時に自動で OTP コードを送信する

最大照合回数入力された OTP コードと通知した OTP コードとの最大照合回数

1~99 の数字が設定可能
監査ログ

OTP コード通知時の履歴を監査ログに記録する

以下が設定例です。

10

設定項目

設定例

認証レベル1

アクセスキー ID

AODPEGFXT5Q4TD6SNCKR

シークレットアクセスキー

jbkrf5vmrHzTQZJiElSWEuBPgck5rTkuieAvuL8P

発信元電話番号+12065550100
openam01.example.co.jp|+12065550101
openam02.example.co.jp|+12065550102

リージョン

us-east-1

国名コード属性（空欄）

デフォルトの国名コード

JP

宛先電話番号属性

telephoneNumber

カウンタ属性am-auth-voice-otp-counter

最大 OTP 送信回数

3

ワンタイムパスワードの5有効期間（分）
ワンタイムパスワードの長さ

6

OTP コードの自動送信

無効

最大照合回数

3

監査ログ

有効

4.2 認証連鎖の設定
1. OpenAM の管理コンソールにログイン後、対象のレルムを選択します。
2.「認証」→「認証連鎖」を開き、「認証連鎖の追加」を押下します。
3.「名前」に任意の認証連鎖名（ここでは voiceService）を入力し、「作成」を押下します。

11

図 5 認証連鎖の作成

4.「モジュールの追加」を押下し、「モジュールの選択」のドロップダウンリストから ID/ パスワード認証を行う認証モジュール（ここでは DataStore）を選択し、「基準の選択」のドロップダウンリストから Requisite を選択します。

図 6 データストア認証モジュールの追加

5.

4. と同様にして「モジュールの選択」で Voice OTP 認証モジュール（ここではVoice）を選択し、「基準の選択」で Required を選択します。

12

図7

Voice OTP 認証モジュールの追加

6.「変更の保存」を押下します。
7.「認証」→「設定」を開き、「組織認証設定」のドロップダウンリストから作成した認証連鎖（ここでは voiceService）を選択し、「変更の保存」を押下します。

図 8 組織認証設定の変更

13

5 認証時の操作
ここでは「認証モジュールの追加」の設定例および「認証連鎖の設定」の設定例の通りに設定した場合のユーザーによる認証時の操作について説明します。

1. OpenAM にアクセスします。
2. データストア認証の画面で ID とパスワードを入力し、「ログイン」を押下します。

図 9 データストア認証

3.「OTP コードを送信」を押下し、OTP コードを要求します。

図 10

OTP コードの要求

14

4. OTP コードが送信されると画面が切り替わります。

図 11

OTP コード送信後5. 電話機の呼び出し音が鳴ったら受け、OTP コードを聞き取ります。

図 12 電話機の呼び出し

6. Voice OTP 認証の画面の OTP コード入力欄に通知された OTP コードを入力し、「ログイン」を押下します。

15

図 13

OTP コードの入力

7. ログインに成功し、ユーザープロファイル画面に遷移します。

図 14

ユーザープロファイル画面

16

6 備考
6.1 認証モジュールの仕様
ここでは Voice OTP 認証モジュールの以下の仕様について説明します。

• OTP 送信回数
• 宛先電話番号• 監査ログ

6.1.1 OTP 送信回数
OTP の直近の送信日時と 1 日の合計通知回数が認証モジュールの「カウンタ属性」設定に指定した属性に保存されます。記録される日時は OpenAM サーバーの設定に依存します。

1 日の合計通知回数はユーザーごとにカウントされ、日付けが変わるとリセットされます。
「制限事項」に記述されている Amazon Pinpoint の送信メッセージ数制限のリセット時刻と、認証モジュールの OTP 送信回数制限のリセット時刻はリンクしていません。そのため、送信メッセージ数が「OTP 送信回数」に設定した回数に達していない場合にも、AmazonPinpoint の利用制限によってメッセージを送信できない場合があります。

6.1.2 宛先電話番号
Amazon Pinpoint サービスを利用して音声メッセージを送信するためには、ITU-T が勧告した E.164 フォーマットの電話番号が必要です。宛先電話番号は以下のように生成されます。

• ユーザーの電話番号属性値が + から始まる場合は国番号付きの電話番号として扱われ、「国名コード属性」と「デフォルトの国名コード」の設定は使用されません。

• ユーザーの電話番号属性値が + から始まらず、ユーザーが「国名コード属性」に指定された属性を持っている場合はその属性値が国名コードとして使用され、国番号付きの電話番号が生成されます。

• ユーザーの電話番号属性値が + から始まらず、「国名コード属性」が指定されていない又はユーザーが「国名コード属性」に指定された属性を持っていない場合は、「デフォルトの国名コード」に指定された値が国名コードとして使用され、国番号付きの電話番号が生成されます。

17

宛先電話番号属性値

国名コード属性値

デフォルトの国名コード

送信先電話番号US

GB+81312345678+810312345678

GB+81312345678+81-3-1234-5678

GB+81312345678+81 3 1234 5678

GB+81312345678+81312345678

0312345678

US0312345678

US+10312345678

0312345678

GB+10312345678

GB+44312345678

また、「宛先電話番号属性」と「国名コード属性」として参照される属性値は 1 つです。そのため、属性値として複数の値が登録されている場合、どの値が利用されるかは保証されません。

6.1.3 監査ログ
「認証モジュールの追加」で「監査ログ」の設定を有効にした場合、/var/opt/osstech/lib/tomcat/data/openam/openam/log/activity.csv に OTP コードの送信履歴が出力されます。出力されない場合、「設定」→「グローバルサービス」→「Audit Logging」を開き、「Auditlogging」が有効になっているか確認します。

図 15 Audit Logging の設定

監査ログは以下のように出力されます。

18

"8ae5c791-266f-4ed2-8524-4321205496dc-1889","2021-05-14T15:25:32.984+09:00","AM-VOICEOTP-SENT","8ae5c791-266f-4ed2-8524-4321205496dc-1886","id=test1,ou=user,dc=openam,dc=osstech,dc=co,dc=jp","[""e7bcbc00ae028c1b01""]","id=dsameuser,ou=user,dc=openam,dc=osstech,dc=co,dc=jp","e7bcbc00ae028c1b01","SEND","{""date"":""2021-04-01T09:01:00+09:00"",""numberOfTimes"":1}","{""date"":""2021-05-14T15:25:31+09:00"",""numberOfTimes"":1}",,,"VoiceOTP","/"

主な項目と内容は以下の通りです。
項目

内容

出力例

timestamp

監査ログ出力日時

2021-05-14T15:25:32.984+09:00

eventNamea

イベント名AM-VOICEOTP-SENT

ユーザーの ID

id=test1,ou=user,dc=openam,dc=osstech,dc=co,a 固定値です。

useriddc=jp
operationa

操作

SEND

更新前のカウンタ{"date":"2021-04-01T09:01:00+09:00",

属性"numberOfTimes":1}

更新後のカウンタ{"date":"2021-05-14T15:25:31+09:00",

属性"numberOfTimes":1}

コンポーネント

VoiceOTP

レルム/a 固定値です。

beforeafter

componenta
a 固定値です。

realm

6.2 音声メッセージの設定
ここでは、OTP コードをユーザーに通知する際に使用される以下の設定の変更方法を説明します。

19• 音声名• 音声メッセージ• OTP コードの読み方
それぞれの設定はプロパティファイルに定義されているため、プロパティファイルを編集して設定の変更を行います。ユーザーが使っているブラウザの設定言語によって参照される
プロパティファイルが異なり、設定言語が日本語の場合は amAuthVoiceOTP_ja.propertiesが参照され、それ以外の言語の場合は amAuthVoiceOTP.properties が参照されます。 プ
ロパティファイルは、OpenAM のインストールディレクトリのパス*1 を{OPENAM_INSTALL}とすると、{OPENAM_INSTALL}/WEB-INF/lib/openam-auth-voice-otp-14.x.x.jar の中にあります。 編集する際は、この jar ファイルを展開し、その中にあるプロパティファイルをコピーして編集します。
以下にインストールディレクトリがデフォルトパスの場合の編集方法を示します。ここでは、例として amAuthAdaptive_ja.properties を編集するものとして説明します。

1. jar ファイルからプロパティファイルを取得します。 OpenAM のバージョンによって14.x.x の部分を置き換えて実行します。
# cd /opt/osstech/share/tomcat/webapps/openam/WEB-INF/classes/# jar -xvf ../lib/openam-auth-adaptive-14.x.x.jar \amAuthAdaptive_ja.properties

2. Unicode エスケープされたプロパティファイル内のテキストをネイティブコードに変換します。この作業は、ISO-8859-1 文字セットに含まれていない文字列がプロパティファイル内に存在する場合にのみ行います。
# native2ascii -reverse amAuthAdaptive_ja.properties \amAuthAdaptive_ja.properties.utf8

3. 変更したい設定のプロパティキーに対応するプロパティ値を編集します。
4. ネイティブコードに変換したテキストを Unicode に戻します。この作業は、2. の作業を行った場合にのみ行います。
# native2ascii amAuthAdaptive_ja.properties.utf8 \amAuthAdaptive_ja.properties*1 デフォルトでは/opt/osstech/share/tomcat/webapps/openam です。

20

5. 変更を反映するため、OpenAM を再起動します。
# systemctl restart osstech-tomcat

6.2.1 音声名
音声メッセージを送信するために利用可能な音声は「Amazon Polly > 使用可能な音声（https://docs.aws.amazon.com/ja_jp/polly/latest/dg/voicelist.html#availablevoice-list）」で確認することができます。言語によって利用可能な音声が異なり、不適切な音声を設定すると音声メッセージが正常に読み上げられない可能性があります。
音声名の設定のプロパティキーは「voiceName」です。プロパティ値には、上記 URL の一覧の「名前/ID」欄に記載されている音声名を設定します。
以下がデフォルトの設定です。
voiceName=Mizuki

例として、音声名を「Takumi」に変更する場合、以下のように設定します。
voiceName=Takumi

6.2.2 音声メッセージ
OTP コード通知時のメッセージテンプレートのプロパティキーは「ssmlMessage」です。プ
ロパティ値には SSML で記述されたメッセージを指定する必要があります。SSML の書き方については「サポートされている SSML タグ（https://docs.aws.amazon.com/ja_jp/polly/latest/dg/supportedtags.html）」を参照してください。エスケープが必要な文字については「SSMLでの予約文字（https://docs.aws.amazon.com/ja_jp/polly/latest/dg/escapees.html）」を参照してください。なお、SSML タグ内の属性値はダブルクォーテーション「"」ではなく、シングルクォーテーション「'」で囲みます。
以下がデフォルトのテンプレートです。
ssmlMessage=<speak>ワンタイムパスワードは<break time='500ms'/><emphasis>{0}</emphasis><break time='500ms'/>です。繰り返します。ワンタイムパスワードは<break time='500ms'/><emphasis>{0}</emphasis><break time='500ms'/>です。</speak>

テンプレート内の 「{0}」 は OTP コードに置き換えられるため、テンプレート内に少なくとも 1 つ記述する必要があります。

21

OTP コードを一桁づつ区切って読み上げるためには、プロパティキー「ssmlMessageOTPSeparator」に区切り文字を設定します。プロパティ値には、SSML タグを指定することも可能です。
デフォルトでは以下のように設定されています。
ssmlMessageOTPSeparator=<break time='100ms'/>

デフォルト設定では、テンプレートから以下のようなメッセージが生成されます。
<speak>ワンタイムパスワードは<break time='500ms'/><emphasis>0<break time='100ms'/>
1<break time='100ms'/>2<break time='100ms'/>3<break time='100ms'/>
4<break time='100ms'/>
5</emphasis><break time='500ms'/>です。繰り返します。
ワンタイムパスワードは<break time='500ms'/><emphasis>0<break time='100ms'/>
1<break time='100ms'/>2<break time='100ms'/>3<break time='100ms'/>
4<break time='100ms'/>
5</emphasis><break time='500ms'/>です。
</speak>

例として、「ssmlMessage」と「ssmlMessageOTPSeparator」をそれぞれ以下のように変更します。
ssmlMessage=<speak>ワンタイムパスワードをお知らせします。ワンタイムパスワードは、{0}です。</speak>ssmlMessageOTPSeparator=,

上記の設定例からは以下のようなメッセージが生成されます。

22

<speak>
ワンタイムパスワードをお知らせします。ワンタイムパスワードは、0,1,2,3,4,5 です。

</speak>

6.2.3 OTP コードの読み方
読み方を示す文字列で OTP コード内の数字を置換することにより、読み方を変更することが可能です。
日本語の場合、デフォルトでは以下のように読み上げられます。
数字

読み方

プロパティキープロパティ値

置換後

置換後の読み方0レイ

voice.0

ゼロ

ゼロ

ゼロ

1イチ

voice.1

11イチ

2二voice.2

22二3

サンvoice.3

33

サン

4ヨン

voice.4

44ヨン

5

ゴ

voice.5

5

5

ゴ

6

ロク

voice.6

66

ロク

7

ナナ

voice.7

77

ナナ

8ハチ

voice.8

88ハチ

9キュウ

voice.999

キュウ

voice.0 を除き、デフォルト設定では読み方を変更していないため、デフォルトプ
ロ パ テ ィ フ ァ イ ル で あ る amAuthVoiceOTP.properties か ら 参 照 さ れ て い ま す 。そ のた め 、デ フ ォ ル ト プ ロ パ テ ィ フ ァ イ ル 内 の voice.1 ~ voice.9 の 値 を 変 更 し た 場 合 、

amAuthVoiceOTP_ja.properties の設定変更も必要です。
例として、「4」の読み方を「シ」としたい場合、以下の設定を追加します。
voice.4=シ23

7 改版履歴• 2021 年 5 月 18 日 リビジョン 1.0– 初版作成• 2022 年 7 月 14 日 リビジョン 1.1– 表紙の社名を OSSTech 株式会社に変更

24