問題タブ [next-auth]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
3530 参照

javascript - DRF に対する Next-Auth を使用した NextJs 認証

テンプレートからNextJsフロントエンドに移行しようとしている既存のDjangoプロジェクトがあります。Next Auth で良さそうな Next-Auth-js に出会いました。

ただし、ドキュメントは JS 関連のバックエンド認証に重点を置いているようです。このに従って、NEXTAUTH_URL 環境変数を DRF エンドポイント localhost:8002 に送信しました。フロントエンドは localhost:3000 で実行されます。私の_app.jsは次のようになりますが:

テストにNav.jsを使用して、signin/out href を変更して Django エンドポイントを指すようにしましたが、next-auth-js はこれを無視し、セッション フェッチをフロントエンドhttp://localhost:3000/api/auth/sessionではなくフロントエンドに配置するようhttp://localhost:8002/api/auth/sessionです。

Django Rest Framework (DRF) を使用して、この認証を正しく/安全に実装する方法についてご支援いただければ幸いです。

0 投票する
0 に答える
860 参照

next.js - NextAuth による新しいデータベース モデルの追加と使用

NextAuthを使用して Web サービスを作成し、それを MongoDB データベースに接続しています。Google Auth でログインできるようになり、レコードがデータベースに正しく保存されます。次に、新しいモデルをデータベースに追加し、API ルートを介して追加する必要があります。

こちらの手順に従って、カスタム モデルを追加しましたTest

Test.js

index.js

[... nextauth.js]を更新Testしてアダプターに追加しました

この時点でエラーは表示されていませんが、正しく追加されているかどうかはわかりません。Testそこで、テスト文書を作成してみたいと思います。ただし、これを行う方法に関するドキュメントは見つかりません。データベース接続にアクセスする必要がありますが、「next-auth/adapters」、「next-auth/client」、「next-auth」、req などからインポートされたすべてをログに記録しようとしましたが、どこにも見つかりませんこの接続が保存されていること。TypeORM Adapter クラスに格納されている関数を呼び出す必要があると思いますがgetAdapter()、アクセスできないようです。また、組み込みのメソッドのいずれかにアクセスしようとしましたが、setUserそれらも取得できません。そのため、データベース レコードを手動で変更する方法が見つかりません。