FIDO認証器の追加登録要求¶
ネームスペースにFIDO認証器を追加します。
※ネームスペースは、APIキーのネームスペースになります。
FIDO認証器は、ネームスペース内で一意になります。
FIDO認証器はFIDOアライアンス認可した、FIDO2(U2Fを含む)準拠認証器を利用可能です。
当サービスでは、どちらのFIDO認証器でもご利用できます。 ただし、FIDO UAFはご利用できません。
- FIDO(Fast IDentity Online) : ユーザ認証におけるパスワードへの依存を軽減するために、オープンで拡張性と相互運用性があるメカニズムを定義する技術仕様です。
- FIDO2 : パスワードレス認証のメカニズムを定義する認証仕様です。W3C採用のWebAuthnと認証器のプロトコルCTAP2で構成されます。U2FやUAFとの下位互換性があります。
- U2F(Universal Second Factor) : 公開鍵暗号化を利用した認証デバイスによる認証方式です。既存のパスワードと組み合わせすことでセキュリティを強化します。
- UAF(Universal Authentication Framework) : バイオメトリクスによる認証方式です。パスワードレス認証が実現可能です。
APIキーに必要な権限¶
FIDO : CREATE
メソッド¶
POST
URL¶
/v1/fido/attestation_start
URLパラメータ¶
Content-Type: application/json
Origin: <ORIGIN>
パラメータ名 | 必須 | 型 | 内容 |
---|---|---|---|
<ORIGIN> |
● | 文字列 | 要求元のOrigin情報 |
user_id | ● | 文字列 | ユーザID。 |
display_name | 文字列 | ユーザの表示名です。ユーザに紐付けるSecurity Keyを初めて登録する場合、未設定の場合はログインIDとなります。2回目以降、Security Keyを登録するときにdisplay_nameを指定した場合は、その値で上書きされ、未設定の場合は前回値のまま更新しません。 | |
device_name | 文字列 | 未設定の場合は、Fidoアライアンスのメタ情報に登録されているデバイス名が適用されます。メタ情報にデバイス名が登録されていない場合は、"{display_name} Security Key"となります。 | |
attestation | 文字列 | 認証器の正当性を RP が検証するための手段を指定します。デフォルトは"none" ・"none" : RP は attestation をすべて許容する ・"indirect" : RP は何らかの attestation を受けとるが、認証器で生成されたものでなくても許容 ・"direct" : RP は認証器で生成された attestation を許容 |
|
authenticator_attachment | 文字列 | 登録対象となる認証器種別を指定します。デフォルトは指定なし。 ・指定なし:すべての認証器を対象とする ・"platform" : Windows HelloやmacOSのTouch IDなどの端末組み込みの認証器 ・"cross-platform" : USBやNFC,BTなどプラットフォームに依存しない認証器 |
|
user_verification | 文字列 | PINや生体認証などユーザ認証を必要とするかどうかの挙動を指定します。デフォルトは"discouraged"。 ・"discouraged" : 必要なし ・"preferred" : あれば使う ・"required" : 必須 |
|
require_resident_key | 文字列 | FIDO認証器にユーザ情報を格納するか否か。デフォルトはfalse。 ・true : 格納する ・false : 格納しない |
リクエスト例¶
curl \
-X POST \
-H "X-DAUTH-API-KEY: <API-KEY>" \
-H "Content-Type: application/json" \
-H "Origin:<ORIGIN>" \
-d '{"user_id":"c0601fad-9c76-472c-bea2-6e53e9a3417e", "display_name":"hoge", "device_name":"hoge's device"}' \
"https://api.d-auth.com/v1/fido/attestation_start"
<API-KEY>
: 使用するAPIキー<ORIGIN>
:要求元のOrigin情報
レスポンス例¶
ステータスライン / レスポンスヘッダ¶
HTTP/1.1 200 OK
Content-Type:application/json;charset=utf-8
レスポンスボディ¶
{
"makeAttestationOptions" : {...},
"token" : "..."
}
- makeAttestationOptions : navigator.credentials.createのパラメータ形式。
- token: tokenパラメータ
エラーレスポンス¶
詳細はこちらをご参照ください。