Я пытаюсь добавить социальный логин в мое приложение django-rest-framework, но я застрял в этой проблеме и мне нужна помощь.
Поток входа: код запроса (GET) -> Ответ-> Запрос токена (POST) (в этой части я застрял) -> Ответ
Ссылка на API здесь
Итак, послеЯ захожу в социальную учетную запись (например, Facebook), нажмите кнопку авторизации моего приложения, я получаю код доступа, подобный следующему:
@api_view(['GET', 'POST'])
def kakao_login(request):
# Extracting 'code' from received url
my_code = request.GET["code"]
request.session['my_code'] = my_code
return HttpResponseRedirect(reverse('kakao_auth_code'))
# This makes me redirect to 'kakao_auth_code' url
После этого я должен запросить token
, используя код пользователя, полученный мной сверху.
В соответствии с документом API я должен использовать метод POST
следующим образом.
curl -v -X POST https://kauth.kakao.com/oauth/token \
-d 'grant_type=authorization_code' \
-d 'client_id={app_key}' \
-d 'redirect_uri={redirect_uri}' \
-d 'code={authorize_code}'
Поэтому я реализовал свой код следующим образом:
@api_view(['GET', 'POST'])
def kakao_auth_code(request):
my_code = request.session.get('my_code')
try:
del request.session['my_code']
except KeyError:
pass
request.POST(grant_type = 'authorization_code', client_id = '428122a9ab5aa0e8 140ab61eb8dde36c', redirect_uri = 'accounts/kakao/login/callback/', code = my_code)
return HttpResponseRedirect('/')
Но я получаю эту ошибку в строке request.POST(...)
.
Объект 'QueryDict' не вызывается
Я просто не знаю какрешить эту проблему на request.POST()
.Любая помощь будет очень признательна.