😥

Credential Management API(Federated Credential)を用いたラストログイン管理を試してみたが...

2021/09/25に公開

こんにちは、ritouです。

この話です。

この辺の話を Credential Management APIのFederated Credentialを使ったらクロスデバイスでもいけるんじゃないかって話の検証です。

Credential Management API is 何?

The Credential Management API  |  Web Fundamentals  |  Google Developers

  • navigator.credentials.get()
  • navigator.credentials.store()

こいつらを使って出し入れするわけですね(雑)

私が求めていたもの

  • 保存したいのは "最後に利用したログイン方法"
  • 保存するのは1つだけで良い

Federated Credential でできること

  • ID連携に利用したアカウント/Provider情報を "パスワードマネージャ" に保存できる
  • 複数保存できる

結果

自分の用途にあわせて

  • ログインしたらと言うか選択したら navigator.credentials.store()
  • 次回以降ログイン画面で navigator.credentials.get()

みたいな使い方をしてみます。

保存するのが一つだけの場合はなんとかそれっぽくなってるような微妙なような感じです。
まず、保存するときにこうなって...

取得するときはこうなります。

ログインしちゃうわけじゃないので...とは思いつつも、最後に www.example.com を使ったってことはわかりますね。 これで表示だしわけも可能でしょう。

しかし、この次に www.example.net でログインしたことを覚えておきたい場合、上書きにならずにもう一個ID連携の情報として保存されてしまいます(それはそう、と言う気がする)。

こうなるとですね、取得時にAccountChooserみたいな感じになります。

これだと自分の用途としては...

storeのパラメータでなんとかできるのかもしれませんが、一個だけしか保存できなくする方法を誰か知ってたら教えてください!

ではまた!

Discussion