Webアプリに認証を追加しようとしています。ユーザーは、次の場所に移動して認証プロセスを開始します。
/authorization/v1/new?client_id=X&response_type=Y&redirect_uri=Z
request.user存在しない場合は、次のコードを使用してリダイレクトします。
try:
user_identity = Identity.objects.get(user=request.user)
except:
resource = '%s?next=/authorization/v1/new' % settings.LOGIN_URL
return HttpResponseRedirect(resource)
これにより、ユーザーはに移動し/login/?next=/authorization/v1/newます。
ユーザーは正常にログインし、にリダイレクトされ/authorization/v1/newます。
ただし、必要なGETパラメーター、、、およびが欠落しているclient_idためresponse_type、redirect_uri承認エンドポイントは、必要なパラメーターが欠落している場合にエラーをスローします。
最初のGETパラメータをキャプチャし、それらをパススルーしてログインし、認証エンドポイントに戻るリダイレクトにアタッチするための最良の方法は何ですか?
redirect_uriセッションを使用するか、他のパラメーターをアタッチするようにを変更することを考えましたが、このプロセスを通じて単一のパラメーターをキャプチャする方法を理解する必要があります。可能であれば、ログインコードを変更する必要はありません。どんなアイデア/提案も大歓迎です。ありがとう!