ずっと失敗続きだったものの、諦め悪く試行錯誤を続けたところ、何となく方法がわかったのでメモ。
結論から書くと、公式である楽天証券のヘルプにも「Bluetooth非対応のパソコンからパスキーログインする方法はありますか?」に掲載されていたりする。
ポイントは以下の5点。
パスキーはGoogleのパスワードマネージャーに作る
WindowsPCでのパスキーを使った楽天証券への初回ログインは、Googleのパスワードマネージャーの認証を行う
初回のパスキーを使ったWindowsPCへのログイン時にWindowsHello側にパスキーが保存される
初回以降のWindowsPCでのパスキーを使った楽天証券へのログインはWindowsHelloの認証を行う
WindowsPC側にBluetoothは無くてもパスキーのログインはできた
で。
具体的な手順はこんな感じ。
WindowsPC上でWindowsHelloを有効にする(トワナナさんは認証方式にPINを使用)
Androidスマホ側でブラウザを使いパスキーを生成、楽天証券のパスキーログインを有効にしておく(この時点でWindowsPC側ではログイン不能になる)
WindowsPCにChromeをインストールし、規定ブラウザをChromeに変更
Chromeに新しいプロファイルを生成し、Androidスマホと同じアカウントで(同期を有効にして)ログイン
Chromeで楽天証券の公式ページを開き、パスキーでログインを選択
Googleのパスワードマネージャーに保存したパスキーが選択できるので選択、ここでの認証はGoogleのパスワードマネージャー側の認証になる
WindowsPC上で楽天証券にログインできる → やったー
楽天証券からログアウト、Chromeを閉じる
規定ブラウザをChrome以外に変更してもOK(する必要が無い方は不要)
再度ChromeへAndroidスマホと同じアカウントでログインし、楽天証券にパスキーでログインをする
画面上に表示される保存したパスキーを選ぶと、Windowsのセキュリティ確認が求められる
Googleのパスワードマネージャーの認証ではなく、WindowsHelloに設定した認証でパスする(トワナナさんは認証方式に設定したPINで認証)
楽天証券にログインできる → やったー
だいたいこんな感じ。
トワナナさんは規定ブラウザをChromeにしていないので、Chromeオンリーの方は手順が異なる点があるかも知れない。
うーん。
ちょっと思ったのは、これ、楽天証券のエンジニア側も仕様詰め切れてなくない?という疑問。
なんというか、仕様上は1つのフローで厳格に作っていた(公式で説明されている手順)のだけれど、各OS側の作りにひっぱられて想定外のパスができてしまっているみたいな。
セキュリティ観点だと一発アウト。
設計からやり直し案件。
だよネ・・。
パスキーの実装周りがOS側(GoogleやApple、Microsoft)に依存しているおかげで問題が表面化していないだけのように見えたり、見えなかったり。
大きな問題が起きなければよいなって、土曜日のひとりごと。