Как получить код OAuth из URI перенаправления, отображаемого в браузере, используя URL Django
Я интегрирую Django приложение с Docusign API, для авторизации я использую OAuth2 grant_type="code", после передачи всех необходимых параметров в конечную точку /oauth/auth (https://account-d.docusign.com/oauth/auth?response_type=code&scope=signature&client_id=33f*******NNNNMNMc-b478-7593294fb3ba&redirect_uri=http://localhost:3000/sales/oauth/callback
) я получаю Oauth код в браузере на URI перенаправления (http://localhost:3000/sales/oauth/callback), я хочу получить этот код из моего представления класса django, где я создал путь к моему представлению как
urlpatterns = [
path(
"sales/oauth/callback",
OAuthCallbackView.as_view(),
name="OAuthCallbackView",
),
]
и мое мнение
class OAuthCallbackView(APIView):
def get(self, request):
access_code = request.GET["code"]
Я хочу получить код аута здесь, поскольку путь URI перенаправления содержит код (/sales/oauth/callback?code=12312232) Я не могу попасть в URL путь, указанный выше
Есть ли способ получить код Oauth в Django
Вот некоторый код, скоро мы разместим этот код на GitHub:
def callback(request):
"""
The final part of the user authorization using the OAuth
"""
serializer = CallbackSerializer(data=request.data)
serializer.is_valid(raise_exception=True)
code = serializer.validated_data['code']
try:
auth_data = DsClient.callback(code)
except ApiException:
return redirect("jwt_auth")
SessionData.set_auth_data(request.session, auth_data)
return Response({"message": "Logged in with code grant"})