問題タブ [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.
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) を使用して、この認証を正しく/安全に実装する方法についてご支援いただければ幸いです。
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
それらも取得できません。そのため、データベース レコードを手動で変更する方法が見つかりません。