2017-05-31 8 views
0

Djangoアプリケーションから別のWebアプリケーションにユーザーをリダイレクトする場合。許可されたユーザだけが他のWebアプリケーションを訪問するためのアクセスを許可することができます。この権限はDjango Userモデルで設定されます。他のWebアプリケーションで、訪問先のユーザーがAPIエンドポイントを使用してDjangoアプリケーションを照会してアクセス許可を持っているかどうかを確認します。別のアプリケーションからDjangoユーザーを認証する方法

しかし、他のWebアプリケーションには、request.userパラメータや、Django Userモデルに基づいてユーザを認証するその他の方法はありません(再度ログインすることはできません)。クロスドメインのセッションクッキーなどを設定する方法はありますか?それを達成できますか?

+0

はOAuthのを使用できないものがありますか? – yorodm

+1

how about:あなたはdjangoアプリケーション側でnonceを生成し、nonceを他のアプリケーションに渡してから、nonthを確認するためにdjangoサーバに検証クエリを行います。 – ACimander

答えて

0

私は最近それをしました。

ユーザーを取得するために2番目のアプリが必要なくても、そのユーザーをすぐに作成できます。

最初のアプリで、他のアプリに非常に特別なGETリクエストを行うURLをクリックさせてください。

GETリクエストは、hmacでいくつかの変数をエンコードします。名前、電子メール、または両方のサーバーが共有する特定のSECRET_KEYを使用して必要な値。

2番目のアプリでは、同じSECRET_KEYでリクエストをデコードし、ユーザーにログインすることができます。

参照してください:https://docs.python.org/3/library/hmac.html

関連する問題