OAuth/OpenID Connectを用いてID連携を実装するときに気を付けること
Abstract
こんにちは、ritouです。
去年のYAPC::Asiaで「次世代のOpenIDとして仕様策定・実装が進んでいる」とかなんとか言ってPerlライブラリなどと一緒に紹介させていただきましたOpenID Connectが、2014年2月末にローンチされました。
OpenID Connect Launch !
この話はおいといて、最近増えてきたGoogleとかFacebookなどとID連携するサイトが増えている中、UX、セキュリティ面で気を付けるべき点を紹介します。 例えば、ID連携を利用しているサービスの開発者の方は、次の質問に自信を持って答えられるでしょうか?
- ユーザーがFacebook上で連携を「キャンセル」したとき、どんな動きをしますか?
- ID連携において最もメジャーな脆弱性と言える、CSRFへの対策してますか?
- モバイルアプリからトークンを受け取るタイプのバックエンドサーバーで、トークンの検証はどこまでしていますか?
単純にライブラリが実装している機能を正しく利用すれば良いという話もあれば、各サービス単位で微妙に異なる実装に合わせて細かい対応が必要なケースもあります。 ID連携を利用する新規サービス開発時の最終チェックとして確認していただくような内容にしようと考えています。
また、これまで独自のパスワード認証をしてきたサービスがID連携をしようとするケースもあるでしょう。 この場合、考えなければならない点も新規サービスの場合と変わってきますので、紹介します。
- 既存のユーザーとの紐付ける際の識別子やメールアドレスの扱い
- ログイン、新規登録、ログイン状態での連携、どこから手をつけるべきか
- 今までパスワードの確認を利用していたセンシティブな処理について、ID連携後はどのような扱うべきか、パスワード認証を捨てることはできるのか
本トークによりID連携の勘所をおさえていただき、ユーザーにも、サービスにとっても安全な実装の手助けになれば幸いです。
Talk Details
Venue | Multipurpose Room 2 |
---|---|
Starts On | 2014-08-30 15:20:00 |
Talk Category | Libraries |
Language | Japanese |
Slide Subtitles | Japanese |
Talk Duration | 40 minutes |
Material (Difficulty) Level | Regular |
May we take your photo? | allow |
May we record your talk? | allow |