Согласно Discord, URL перенаправления должен начинаться с https://discordapp.com/api/oauth2/authorize?
, но когда я передаю {% provider_login_url 'discord' %}
в мою кнопку «Войти с Discord», его URI перенаправления начинается с https://discordapp.com/oauth2/authorize?
(без /api/).
Если я вручную передам правильный URL-адрес перенаправления, он будет работать нормально. Но использование перенаправления {% provider_login_url 'discord' %}
приводит к ошибке «неправильный redirect_uri».
Если я посмотрю на класс DiscordOAuth2Adapter()
из GlaHub-алаута, похоже, что он имеет authorize_url
.
class DiscordOAuth2Adapter(OAuth2Adapter):
provider_id = DiscordProvider.id
access_token_url = 'https://discordapp.com/api/oauth2/token'
authorize_url = 'https://discordapp.com/api/oauth2/authorize'
profile_url = 'https://discordapp.com/api/users/@me'
def complete_login(self, request, app, token, **kwargs):
headers = {
'Authorization': 'Bearer {0}'.format(token.token),
'Content-Type': 'application/json',
}
extra_data = requests.get(self.profile_url, headers=headers)
return self.get_provider().sociallogin_from_response(
request,
extra_data.json()
)
Я явно что-то здесь упускаю.