Web アプリケーションに U2F を実装しようとしています。アプリケーションは複数の URL で使用できるため、仕様で説明されているように、有効な FacetID を含む JSON ファイルを追加する必要があります。Yubico のWeb サイトには、その仕様の短い要約があります。
残念ながら、u2f.register(...)
メソッドを呼び出すと、エラー コード 2 が表示されます。これは、AppID に問題があることを意味します。
My AppID は JSON ファイルへの URL です。仕様にあるとおり、application/fido.trusted-apps+json
コンテンツタイプとして追加します。とにかく、この URL が呼び出されることはありません。
最新の Chrome (v46.0.2490.80m) を使用しています。ここで述べたように、Chrome 拡張機能はもう必要ありません。
さらに、仕様に従って U2F が実装されていることを示す Chromium プロジェクトに関するクローズドバグ レポートを見つけました。
Chrome 拡張機能の代わりにu2f-api.jsを使用しています。
この u2f-api.js は問題ですか? より新しいものはありますか?
これまでの私のコードは次のとおりです。
var u2frequest =
[
{
"appId":"https://localhost:44300/api/u2f/appids.json",
"challenge":"hDharTG-SROuScxyD7ACpMDp4xl6A91E9nUPXDRSo_4",
"version":"U2F_V2"
}
];
u2f.register(u2frequest, [], function (data) {
// I always get data={errorCode:2} here.
}