前提・実現したいこと
deviseの機能を学習するために、サンプルアプリケーションを作成しています。
そこで、下記の条件を満たせないかと取り組んでいます。
①最初のユーザー登録時には、メールアドレスのみでOK
②上記でメールアドレスの登録を行った際に、そのメールアドレスへ確認メールを送信
③確認メールからリンクをクリックすると、パスワード設定画面へ遷移し、パスワード設定を行う
現在は、deviseのconfirmableという機能を用いて実装を試みています。
また、こちらの記事を参考に作成しています。
devise でメールアドレスのみでユーザー登録を行い、パスワードを後から設定する方法
rails 5.2.4.1
ruby 2.5.1
疑問
私の様な学習中の人間がconfirmableを使用してメール認証(gmail)を行う場合、アプリのセキュリティがgoogleの基準を満たしていないため、googleの設定より以下の2パターンのどちらか行う必要性があることを学びました。
①安全性の低いアプリのアクセスを許可する
②2段階認証を設定し、生成されたパスワードをdevise.rbへ記述する
しかし、ここで疑問に感じました。
①の場合は、そもそも危険なのではないか。1アプリの為にgoogleのセキュリティを落としている様に感じます。
②の場合は、1つのメールアドレスだけを使うのであれば問題ないが、複数ユーザーによる複数メールアドレスを使用する場合、2段間認証用のパスワードが固有に存在すると考えられ、devise.rbへ固有の値を記述できないのではないか。
実際に、①の方法でメール認証が出来ることは確認していますが、これが適切なのか分からない状態にいます。
教えて頂きたいこと
今回の様な個人作成のアプリケーションの場合、gmailでのメール認証を行うには一体どの様な方法をとるのが良いのでしょうか?googleのセキュリティを下げず、且つ複数ユーザーも利用できる様にするためのベストプラクティスは存在するのか教えていただければと思います。
また、「他にもこんな方法がある」、「こっちの方法の方が良い」という代替案等ございましたら、そちらも教えていただけると幸いです。
知見のある方、仮説のある方、よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー