最近SNSサービスを使ったアカウントの新規作成やログインをするといった機能を利用したり触れたりすることが増えてきたけれど、あんまり好きじゃない(以下SNSログインと呼ぶ)。開発者・ビジネス側としてはユーザーにとって楽なログイン方法を提供したいという気持ちはわかる一方、ユーザー側としては「どのサービスでログインしたことがあるか」がわからなくなりがちであんまりあんまり便利に思ったことがない。メールアドレスログイン後、SNSを紐付けて「そちらを使ったログイン」が可能であるならまだましだけれど(それでもどれを紐付けて、どれを紐付けていないのかはいちいち覚えているわけでもない)、これが紐付けておらずに紐付けたSNSに登録されているメールアドレスとメールアドレスでのログインが別アカウントとして認識され、作成可能だと悲惨だ。…うまく説明できないけれど、SNSログインは恐らく大抵の実装はメールアドレスを見ていて、メールアドレスがユニークなフィールドであるとメールアドレスでの新規登録やログイン時になんらかのエラーが吐き出されていて見やすいが、そうでないと2つのアカウントが作成可能になってしまう、という意味。最近触り始めたFirebaseにはどちらかにするかを選択できるオプションがあるが、同じメールアドレスで別アカウントが作成可能だとかなりややこしくなってしまうので、できればこれを観た人はそうならないようにしてほしさ。昔Netlifyでやらかしたことがある(これはメールアドレスログインとGitHub)。
そもそも、アカウント新規作成フォームやログインフォームにSNSログインをするために各社のブランドカラーを使った微妙に統一感のないボタンがズラズラ並んでいるのがダサい。作る側に立つと微妙な気持ちになりながら作る。多分。せめてメールアドレスともう1個のSNSくらいにしておいてほしいが、上記のNetlifyを思い出したらやっぱりない方がいい。
SNSログインが有効な手段となるシチュエーションは、そのSNSと密なサービスであるときくらいか。TwilogのようなTwitter関連サービスはTwitterアカウントでしかログイン出来ないとか。そういうのはもうSNSログインだけで良い。
どうしてもSNSログインをつけたいのなら、最後に使用したログイン方法がUI上でわかると嬉しいかも。セキュリティ的にはちょっと微妙かな。クッキーじゃなくても、localStorageでもいいから色で囲ったりとかそういうの。
自分は迷いたくないから多少面倒でも最初はメールアドレスでの会員登録を心がけている。
- SNSログインやめろ。サービスと密な時だけ可。
- どうしてもつけたければそのSNSで登録してあるメールアドレスをユニーク扱いにして、アカウントが重複するのを避ける。
- セキュリティ上の懸念はあるかもだけど、最後に利用した手段がわかるとユーザーに優しそうね(思いつき)。
日記書こうとしたつもりだけど微妙に文量多くなったし終わり。