問題タブ [webauthn]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1374 参照

go - Go での生体認証ログイン (webauthn)、署名の検証方法

ごく最近の Windows Anniversary アップデートにより、Edge は Windows Hello を使用した生体認証をサポートするようになりました (参照: https://developer.microsoft.com/en-us/microsoft-edge/platform/documentation/dev-guide/device/web-authentication /、https://blogs.windows.com/msedgedev/2016/04/12/a-world-without-passwords-windows-hello-in-microsoft-edge/ ) _  _

C#、PHP、Node.js のサンプルがいくつかあり、Go で動作するようにしようとしています。

以下は JS で機能します (チャレンジとキーをハードコーディングしました)。

上記の JS コードと一致するように意図された次のコードがあります (req は、JSON 要求本文からの文字列を含む構造体です)。

このコードは で失敗しcrypto/rsa: input must be hashed messageます。inhash[:]の代わりにusing に変更すると、 で失敗します。とを組み合わせる必要があると私が考える理由は、それが C# と PHP のサンプル コードで起こっていることだからです (参照、  https ://github.com/adrianba/fido-snippets/blob/master/csharp/app.cs、  https ://github.com/adrianba/fido-snippets/blob/master/php/fido-authenticator.php )。brsa.VerifyPKCS1v15crypto/rsa: verification errorauthenticatorDatahash

多分Goはそれを別の方法で行いますか?

JS と Go でバイト配列を出力しclientData、 、signatureDataauthenticatorData およびhash(後者の 2 つの組み合わせた配列) がまったく同じ値であることを確認しました。公開鍵を作成した後、JS から n フィールドと e フィールドを抽出できていないため、公開鍵の作成方法に問題がある可能性があります。

0 投票する
1 に答える
232 参照

javascript - Web 認証 API (WebAuthn) を使用して U2F デバイスの安定した一意の識別子を取得する方法はありますか?

ユーザーが情報 (ユーザー名、電子メールなど) を提供できず、U2F デバイスを使用して自分自身を識別し、認証するだけの認証システムを構築したいと考えています。

Web Authentication APIを見るとわかることから、U2F デバイスはcreate()またはget()が呼び出されるたびに新しい公開鍵を作成するようです。

識別に使用できる U2F デバイスから安定した ID を取得する方法はありますか?

0 投票する
0 に答える
83 参照

authentication - この URL にリダイレクトする前に、Google がユーザーに権限の付与を求めないのはなぜですか?

Google OAuth クライアント アプリケーションをセットアップし、client_ID と秘密鍵を取得しました。以下のスクリーンショットを参照してください。

現在、私のウェブサイトへの訪問者は、[Google でログイン] バッジをクリックすると、次の URL に送信されます。

https://accounts.google.com/o/oauth2/auth?client_id=65271345115-ocrkffgo6irh2rji8knpnanfh8rf4s35.apps.googleusercontent.com&redirect_uri=https://www.webpagetest.org/testlog/1/&response_type=code&scope=profile+email

ユーザーがそこをクリックすると、Google がこのような権限付与ウィンドウをポップアップ表示することを期待しています。しかし、それは起こりません!ユーザーがそのリンクをクリックしても、アクセス許可は求められません。それらをに送信しredirect_uri、最後にコードを追加するだけです。

なんで?これはセキュリティホールではありませんか?ユーザーがアクセス許可を付与せずにコードが発行されるのはなぜですか??

ここに画像の説明を入力