問題タブ [django-rest-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.
django - 非ユーザーベースのエンティティの認証
私のアプリケーションには、バックエンドにリクエストできる 2 つのモデルがあります。1 つはdjango.contrib.auth.models.User
use に基づいてrest_framework.authentication.TokenAuthentication
おり、2 つ目は という名前のエンティティHub
です。
Authorization: HubToken <TOKEN>
Hubs リクエストの認証に使用しますが、すべてのエンドポイントで手動で処理します。つまり、リクエストが送信元か送信元かを確認し、User
さらにHub
いくつかの手順を実行する必要があります。
カスタム認証を実装できることはわかっていますが、それはすべてユーザーベースです。のカスタム認証を作成するにはどうすればよいHub
ですか?
django - all_auth/rest_auth ユーザーと何らかのモデルを関連付ける方法。クッキー/トークン付き
Angular と共に all_auth と rest_auth を使用しています。キャンペーンというモデルがあります
としてのビュー
API 経由で user_id を渡したくありません。ユーザーの詳細を取得して request.data に挿入するにはどうすればよいですか
jwt - PAW で JWT トークンを設定できません。POSTMAN で機能します
POSTMAN を使用してヘッダーに JWT トークンを含むリクエストを送信できました。Paw を使用するように切り替えたいのですが、エラーで返されました
認証資格情報が提供されませんでした。
以下は、 Authorization ヘッダーに対して試したものです。
郵便配達員(これは機能します)
足
Authorization: Bearer [token]
Authorization: JWT [token]
Authorization: [token]
Authorization: Token [token]
何かアイデアはありますか?
django - django-rest-auth: Google でのソーシャル ログイン
django-rest-auth のドキュメントでは、Facebook の統合について説明していますが、これには興味がありません。私の懸念は、Google 経由でソーシャル ログインを提供することです。私はこれをかなり長い間試してきましたが、他の誰かがこれをどのように行ったかについてのドキュメントを持っているかどうか疑問に思っています...大まかなスケッチでも役に立ちます. これまでのところ、この検索の結果は見つかりませんでした。私はほとんどそこにいますが、Django Rest Framework (DRF) ブラウズ可能な API で動作させることができません。
ここに私がこれまでに持っているものがあります: django-rest-auth github ページで提供されているデモ プロジェクトから始めて、ソーシャル ログイン テンプレートの HTML ページを変更して、「コード」と「access_token」の両方ではなく、「コード」入力のみを要求するようにしました。 . 有効なコード (Google の認証エンドポイントへの別のリクエストによって取得) を提供すると、これは正常に機能します。ブラウズ可能な API は、応答に「キー」(ユーザー用のアプリケーションの API トークン) を含む通常の Web ページをレンダリングします。django管理者を確認すると、すべてが機能しました-ユーザーがログインしている、電子メールが認証されているなど。これまでのところ良好です。
問題は、「コード」を提供する開始点と、最初にそのコードをグーグルから取得する方法です。以前に allauth パッケージを (成功して) 使用したときは、リンクをクリックするだけで、OAuth2 フロー全体を「見えないように」実行できました (つまり、コードを要求し、そのコードを使用してアクセス トークンを取得し、アクセス トークンを使用してユーザーの Google アカウント情報を取得します)。
そのシームレスなフローを再作成する (つまり、コードから始めない) ために、OAuth2 フローを中断し、Google から返されたコードを「インターセプト」して、そのコードを rest-auth ソーシャル ログイン API に POST できると考えました。allauth.socialaccount.providers.oauth2.views.OAuth2CallbackView
そのために、dispatch メソッドをオーバーライドし てカスタムを作成しました。
通常、このメソッドは、最初に Google の認証エンドポイントに提供したコールバック URI に Google が GET リクエストを送信したときに呼び出されます。このオーバーライドにより、そのコールバックで Google から返されたコードを正常に解析できます。POST リクエストは機能し、resp._content フィールドにユーザーのキーが含まれています。ただし、最終的には、DRF browsable API で意図したビューを生成できません。
コールスタックを調べてみると、rest_framework.views.APIView.dispatch
が type のオブジェクトを返すことがわかりましたrest_framework.response.Response
。ただし、requests.post
上記のメソッドが完了すると、 type のインスタンスが返されますrequests.models.Response
。その結果、適切な属性がなく、django ミドルウェアで失敗します。たとえば、acceptable_renderer
属性も「get」メソッドもありません (これは で使用されdjango.middleware.clickjacking.py
ます)。requests.models.Response
おそらく、これらの要件を( ) インスタンスに追加することもできrp
ますが、このハックはさらに厄介なものになります。
ご協力いただきありがとうございます。
django-rest-framework - django restフレームワークのseriliazers.pyおよびviews.pyからdjangoのテンプレートからrestサービスを呼び出す方法
DRF とシリアライザーを使用して、django でユーザーをロックおよびロック解除するための API エンドポイントを作成しました。
ユーザーをロックしてユーザーのロックを解除するために、django テンプレートでこの残りのサービスを呼び出したいと思います。
ここにテンプレートのコードがあります
<a href="{% url 'rest-auth/rest_lock/' %}?username={{user.username}}" class="table-btn"><span class="glyphicon glyphicon-lock" /></a>
{% else %}
<a href="{% url 'rest-auth/rest_unlock/' %}?username={{user.username}}" class="table-btn"><span class="glyphicon glyphicon-briefcase" /></a>
問題は、上記の Web サービスを呼び出していますが、その Web サービスでユーザーをロックできないことです。
これが残りのサービスのコードです。
シリアライザーでは:
views.py で:
urls.py で
)
私が作成した残りのサービスは、REST クライアント (RESTEASY、POSTMAN など) からユーザー名のデータを投稿するときに完全に機能しますが、ユーザー名のテンプレートから値を送信するときに、サービスを呼び出して実装することができます。誰でもこれを機能させる方法を教えてもらえますか???
angularjs - AngularJs と Django Rest バックエンドを使用してユーザーが認証されているかどうかを確認するには?
休みのない通常のdjangoプロジェクトでは、テンプレートで次のようなことをしました:
AngularJs を使用して同じことを行うにはどうすればよいですか? ログイン方法を適切に設定していませんが、django-rest-authを使用しているため、管理パネルからログインしてテストしています。どんな助けでも大歓迎です!