質問: 認証システムはよくライブラリや外部サービスを使っているケースが多いように感じます。 例えばRubyのdevise、Auth0など しかしシンプルな認証システムを自前で作成することは危険なのでしょうか? 例えばですが、 * メールアドレスとパスワードでログイン * パスワードはハッシュ化して保存し、ハッシュ値が同じであれば認証成功とみなす * 認証成功後はブラウザのcookieに認証情報を暗号化したものを保存し、以後そのcookieをみて認証済みかどうか判断する 上記のような一般的な認証システムを実装することはそこまで大きな労力には感じませんが、それをすることで冒頭に挙げたようなライブラリや外部サービスを使うより危険なことがあるのでしょうか?
回答: 実装上の問題もありえますが、設計上の問題が大きそうですね。 パスワード保護だけとっても、単に「ハッシュで保存すればよい」というものではありません。このテーマでYouTube動画を作ったものがありますので、よろしければどうぞ。3本でトータル35分くらいかかります。 ウェブサイトにおけるパスワード保護の重用性 - YouTube