コンテンツにスキップ

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パラメータ

エラーレスポンス

詳細はこちらをご参照ください。