【NextAuth.js入門】ユーザー認証機能ならこれで決まり。Next.jsとNextAuth.jsで認証機能をサクッと実装しよう【Auth.js v5対応】

แชร์
ฝัง
  • เผยแพร่เมื่อ 24 ม.ค. 2025

ความคิดเห็น • 20

  • @HaluNo9
    @HaluNo9 10 หลายเดือนก่อน +4

    毎回素晴らしいコンテンツ、ありがとうございます。
    勉強させていただきます。

  • @林翔太-k9g
    @林翔太-k9g หลายเดือนก่อน +1

    v5を使ったことがなかったため、勉強させていただきました!クライアントとサーバーの両方をご説明されていて分かりやすかったです!

  • @masanorishin381
    @masanorishin381 10 หลายเดือนก่อน +4

    いつも新しい技術を取り入れてもらい助かります。
    勉強になります

    • @programming_tutorial_youtube
      @programming_tutorial_youtube  10 หลายเดือนก่อน +1

      はい!もし利用する機会があればぜひ取り入れてみてくださいね。

  • @user_s1612
    @user_s1612 10 หลายเดือนก่อน +3

    タイムリーでめちゃくちゃ助かります!勉強させていただきます!

  • @0312zico
    @0312zico 10 หลายเดือนก่อน +2

    この前苦戦して断念したのでめちゃくちゃ助かります!

    • @programming_tutorial_youtube
      @programming_tutorial_youtube  10 หลายเดือนก่อน +1

      beta版を紹介してますので、安定版になるまでは本動画で紹介している方法は本番環境では使用しない方が良いかと思います!
      こちらこそ、どうもご視聴ありがとうございます!

    • @0312zico
      @0312zico 10 หลายเดือนก่อน

      ありがとうございます!
      いつもためになる動画ありがとうございます!

  • @kenta6415
    @kenta6415 8 หลายเดือนก่อน +2

    わかりやすい!!

  • @fumiyasugino342
    @fumiyasugino342 5 หลายเดือนก่อน +1

    めちゃくちゃありがたいです!

  • @NoboruAsada
    @NoboruAsada 10 หลายเดือนก่อน +2

    FIrebase以外知りませんでした。AuthJS使ってみたいと思います!

    • @うるとらまん-t6e
      @うるとらまん-t6e 3 หลายเดือนก่อน +2

      今更だけどfirebaseはbaasであって、この動画の話とは全く別な気がする。

  • @ryusei8833
    @ryusei8833 10 หลายเดือนก่อน +4

    Djangoのユーザー認識機能も詳しくして欲しいです!

    • @hor9184
      @hor9184 9 หลายเดือนก่อน

      Djangoは需要が少ないから動画にしづらくね?Nextjs系が伸びるし

  • @S1506057
    @S1506057 7 หลายเดือนก่อน +3

    動画参考にして、Auth.js実装できました!とてもわかりやすい解説ありがとうございました。
    ところで、質問なのですが、
    開発環境では、localhost:3000としているところを、本番環境では、正規のURLに変更することになります。しかしながら、本番環境に移行した後も、開発は続けていく必要があり、それは開発環境で行っていくことになるかと思います。そうした場合、本番環境用にURLを変更していることから、開発環境での動作確認等はできなくなってしまうのでしょうか?それとも、URLを開発環境と本番環境で切り替えたり、双方を保持したりできるのでしょうか?
    もしよろしければ、ご教示いただけると幸いです🙇‍♂

    • @programming_tutorial_youtube
      @programming_tutorial_youtube  7 หลายเดือนก่อน +4

      Auth.jsの実装がうまくいったようでよかったです!本番環境と開発環境でURLをどのように扱うかについてですが、環境ごとにURLを切り替える方法があります。これには、環境変数を使用するのが一般的です。
      Next.jsを使用している場合、next.config.jsと環境変数ファイル(.env.localや.env.productionなど)を活用して、環境ごとに異なる設定を適用することができます。
      1. 環境変数の設定
      まず、プロジェクトのルートにある環境変数ファイルを用意します。以下のように、開発用(.env.local)と本番用(.env.production)のファイルを作成します。
      .env.local
      NEXT_PUBLIC_API_URL=localhost:3000
      .env.production
      NEXT_PUBLIC_API_URL=your-production-url.com
      2. next.config.jsの設定
      次に、next.config.jsでこれらの環境変数を使用します。
      // next.config.js
      module.exports = {
      env: {
      NEXT_PUBLIC_API_URL: process.env.NEXT_PUBLIC_API_URL,
      },
      };
      3. コード内で環境変数を使用する
      アプリケーションコード内で、環境変数を使用してURLを参照します。
      const apiUrl = process.env.NEXT_PUBLIC_API_URL;
      // 例: APIコールの場合
      fetch(`${apiUrl}/api/some-endpoint`)
      .then(response => response.json())
      .then(data => {
      console.log(data);
      });
      4. 開発と本番の切り替え
      開発中は通常のnpm run devコマンドでローカルの開発サーバーを起動し、デプロイ時には本番環境用の設定が適用されます。これにより、コードの変更をせずに開発環境と本番環境で異なるURLを使用することができます。
      デプロイと開発の両方をスムーズに行うためのヒント
      環境変数の管理: 環境変数は適切に管理し、誤って本番用の変数をローカル環境に漏らさないように注意しましょう。
      CI/CDパイプラインの設定: デプロイプロセスを自動化することで、環境ごとの設定が確実に適用されるようにします。
      APIエンドポイントのモック: 開発環境で実際のAPIにアクセスする必要がない場合、モックサーバーを使用して開発を進めることも検討してください。
      この方法を使うことで、本番環境用のURLに切り替えても、開発環境での動作確認をスムーズに行うことができます。
      如何でしょうか。

    • @S1506057
      @S1506057 7 หลายเดือนก่อน

      @@programming_tutorial_youtube とてつもなく丁寧な返信に驚愕しております。
      大変な手間をかけてご返信くださり、本当にありがとうございます。
      大変恐縮なのですが、関連してもう一点おききします。
      動画 20:35 から設定されている
      Register a new OAuthApplication の HomepageURL と AuthorizationCallbackURL をデプロイ時に本番環境用に設定しなおす必要があるかと思いますが、これらについては、開発環境と本番環境とで切り替える方法等ありますでしょうか?
      重ね重ねの質問で本当に恐縮です🙇‍♂

    • @S1506057
      @S1506057 7 หลายเดือนก่อน +1

      @@programming_tutorial_youtube
      大変丁寧な返答で感謝感激です!本当にありがとうございます🙇‍♂
      関連してもう一点質問させてください。
      20:50 のところで行っているGitHub上でのRegister a new OAuthApplication設定の際の
      HomepageURLとAtholizationCallBackURLも開発環境と本番環境のものを両立することは可能ですか?
      重ね重ねの質問で申し訳ありませんが、お答えいただけると、大変ありがたいです。
      どうかよろしくお願いします🙇‍♂

    • @programming_tutorial_youtube
      @programming_tutorial_youtube  6 หลายเดือนก่อน +4

      @@S1506057
      はい、GitHub OAuth Applicationの設定で開発環境と本番環境の両方のURLを使用することは可能です。
      以下に、その方法と注意点をご説明します。
      ①複数のCallback URLの設定
      GitHub OAuth Applicationの設定で、Authorization callback URLに複数のURLを入力することができます。各URLは改行で区切ります。
      例えば:
      localhost:3000/api/auth/callback/github
      your-production-domain.com/api/auth/callback/github
      このように設定することで、開発環境と本番環境の両方のCallback URLを登録できます。
      ②Homepage URLの設定
      Homepage URLには通常、本番環境のURLを設定します。
      ただし、これはユーザーに表示されるだけで、実際の認証フローには影響しません。
      ③環境変数の使用
      Next.jsアプリケーション内で、環境に応じて適切なURLを使用するように設定します。例えば:
      const callbackUrl = process.env.NODE_ENV === 'production'
      ? 'your-production-domain.com/api/auth/callback/github'
      : 'localhost:3000/api/auth/callback/github';
      ④セキュリティ考慮事項
      本番環境では必ずHTTPSを使用してください。
      開発用と本番用で別々のGitHub OAuth Applicationを作成し、それぞれの環境で異なるClient IDとClient Secretを使用することも検討してください。
      これにより、環境ごとのセキュリティ管理がより厳密になります。
      ⑤環境変数の管理
      開発環境と本番環境で異なる.envファイルを使用し、適切なClient IDとClient Secretを設定します。
      本番環境では、これらの秘密情報を安全に管理するためにシークレット管理サービスの使用を検討してください。
      ⑥デプロイメントプロセス
      CIツールを使用している場合、環境に応じて適切な変数を注入するようにパイプラインを設定します。
      これらの方法を組み合わせることで、開発環境と本番環境の両方でGitHub OAuth認証を適切に機能させることができます。
      ご参考までに。

    • @S1506057
      @S1506057 6 หลายเดือนก่อน +2

      @@programming_tutorial_youtube 一個人にここまで丁寧な解説をしてくださったことに感謝申し上げます🙇‍♂
      実装できるよう、がんばってみます。
      丁寧な解説ときめ細やかな対応、本当に感服します。ありがとうございました🙇‍♂