#javascript #ajax #django #django-allauth
#javascript #ajax #django #django-allauth
Вопрос:
Я использую модуль allauth для аутентификации пользователей в Google.
В /accounts/login/
шаблоне, предоставленном allauth, есть ссылка « google
«, в которой есть href="/accounts/google/login/?process=login"
. Вы можете нажать на эту ссылку, чтобы пройти аутентификацию в Google.
Я создаю свой собственный шаблон с точно такой же ссылкой
<a id="google-login" href="/accounts/google/login/?process=login">Google</a>
Когда я нажимаю на свою собственную ссылку в своем шаблоне, я получаю эту ошибку:
`XMLHttpRequest cannot load https://accounts.google.com/o/oauth2/auth?state=************amp;response_type=…id=*************************. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://127.0.0.1' is therefore not allowed access.`
Я не понимаю, почему точно такая же ссылка работает из tempalte allauth — / accouts/login/ — но не из моего шаблона. Это точно такая же ссылка с точно таким же href.
Хорошо, я заметил кое-что важное: когда я нажимаю на ссылку href из консоли программистов, она правильно перенаправляет меня по нужному адресу. Проблем нет. Он открывает новую вкладку и правильно соединяет меня с Google.
Я решил оставить разницу между информацией о сети, когда я нажимаю ссылку на страницу allauth html, и ссылкой на моей html-странице: (первая строка — это я, а вторая — allauth)
Accept:text/html, */*; q=0.01
Accept:text/html,application/xhtml xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Referer:http://localhost:8000/static/index.html
Referer:http://localhost:8000/accounts/login/
X-Requested-With:XMLHttpRequest
this line doesnt exist in the request from allauth's html page
Если у кого-то есть какие-либо предложения, пожалуйста, дайте мне знать.
Заранее спасибо.
женя
Комментарии:
1. я думаю, что это связано с аутентификацией csrf
Ответ №1:
Я знаю, что это неправильный ответ. Но вы когда-нибудь пробовали использовать python-social-auth, ранее известный как django-social-auth?