現在取り組んでいるプロジェクトでは、カスタム認証モデルを作成することにしました。rest-framework と all-access の両方を使用しています。ローカル認証はまだ実装されていません (実装されていますが、バージョンが異なるため、問題はありません)。
User モデルが正しく登録され、OAuth 認証が機能します。ユーザーは問題なくログに記録されます。
ビューを操作する場合、django のビューを基本クラスとして使用すると、認証が適切に機能します。rest-framework の APIView を使えばそれほどでもありません。
私の ProfileView (LOGIN_REDIRECT_URL はここにリダイレクトされます) で、rest_framework.request.Request インスタンスを受け取りましたが、これで問題ありません。問題は:
request.user は AnonymousUser のインスタンスです (ログイン後も)
問題は私の実装にあると思いますが、次のようになります。
request._request.user は認証済みユーザーです
( request._request は元の django リクエストであることに注意してください)
これは残りのフレームワークのバグだと思う傾向がありますが、回避策を知っている人はいますか?
編集 ログインは APIView 以外のクラスで行われることに注意してください。代わりに、View を継承するクラスで行われます。これがおそらく、 User インスタンスが APIView インスタンスに渡されない理由です。