🆕

GitHubのパスキー/Passkey対応を試してみた

2023/07/13に公開
2

こんばんは、ritouです。

今回はこれを試してみます。

https://github.blog/2023-07-12-introducing-passwordless-authentication-on-github-com/

まずはパスキーを有効にします。
PCの画面だと右上のプロフィール画像をクリックするとワーっと出てくる中の "Feature preview" ですね。

"Passkeys" のところを選んで

こう! (Enable)

で、右に表示されている "Add a Passkey" を押してもこれ ただの画像なので何も起こらないですよ。

本物は "Settings" -> "Password and authentication" と進めばあります。

2FAで使っていたPasskeyの昇格

追加してみようと思うと、再認証が必要...わかります。

そういえば自分は2FAで既にHybrid Transportを使ってAndroidのPasskeyを利用していました。

とりあえずそっちで再認証を終わると...

・・・おや!? 2FA用のPasskeyのようすが・・・!

これUpgradeできそうです。2FAのフローからPasswordlessに昇格みたいなフロー、みたことないですね。

やってみるともう一回Passkey登録の手順を踏んで、Upgradeできました。
もともと "Android Passkey" にしてたんですが親切に後ろに "passkey" をつけてくれたので、 今からお前の名前は "Android Passkey passkey" だ。 みたいになってニヤニヤしてしまったのでそのまま行きます。

ログアウトしてみます。
ログイン画面に "Sign-in with a passkey" って出てきました。
後述しますがAutofillと両方に対応しています。

これでいつもの手順を踏むとサクッとログインできます。
シークレットウィンドウで見るとAutofillがパスワードのみのやーつ&ボタンも出てこなかったので、設定したブラウザのみ有効になるのかもしれません。というかプレビューだからかもしれません。

(2023/8/13 追記: 上記ボタンを表示する方法についてコメントいただきました。ありがとうございます。)

既にご存知でしたら恐縮ですが, Passkey を設定した端末以外からのアクセスでも Sign-in with a passkey ボタンを表示させる方法を見つけました.
こちらのように, ログインページのクエリを /login?passkey=true とすると動作するみたいです.

Single-Device Credential

MacOSのChromeで試すと、同期されないSingle-Deviceなパスキーを登録できます。

この時はデフォルトで OS名 - ブラウザ名 みたいなnicknameが指定されます。よくあるやつ。

ログイン画面のAutofillも動きました。

Multi-Device Credential

MacOSのSafariで試すと、自分の環境ではiCloud Keychainが有効なので Multi-device なパスキーが登録できます。

この時はnicknameが空でした。この辺の出し分けは芸が細かくて良いと思います。

Autofillも動きました。

まとめ

早速GitHubのパスキー対応を試してみました。

  • 登録前にHybrid Transportsを使って2FAで使っていたパスキーで再認証したら、昇格できた
  • Single-device / Multi-deviceで文言とnicknameの扱いなど、登録フローを細かく出し分けている
  • 今の所は設定した端末のみのようだが、Autofillとボタンの両方に対応

というところでしょうか。
ではまた!

おまけ

ボタンがあるので1Passwordの拡張でもちゃんと動きますね。
前に調べた時は1PasswordがAutofillに対応していなかったので、今後も無理ならボタンと併用するメリットはありそう。

https://twitter.com/thdy_jp/status/1679159968757604353

Discussion

ぺやんぐぺやんぐ

既にご存知でしたら恐縮ですが, Passkey を設定した端末以外からのアクセスでも Sign-in with a passkey ボタンを表示させる方法を見つけました.

こちらのように, ログインページのクエリを /login?passkey=true とすると動作するみたいです.

現時点ではまだ動作しますので, 参考程度にどうぞ..! 🙇🙇

ritouritou

ありがとうございます!
追記させていただきますね