Итак, я следую за этим документом.Я добавил следующее в мои settings.py
SOCIALACCOUNT_PROVIDERS = {
'openid': {
'SERVERS': [
dict(id='okta',
name='Okta',
openid_url='https://dev-292302.okta.com/oauth2/default'),
]
}
}
и следующее в своем login.html
{% load socialaccount %}
<a href="{% provider_login_url "openid"
openid="https://dev-292302.okta.com/oauth2/default"
next="/success/url/" %}">Okta OpenID</a>
У меня, похоже, проблемы с ключом "openid"
выше.Если я добавлю это в привязку выше, это даст мне KeyError
.Если я удаляю это, я получаю следующее.
VariableDoesNotExist at /login/
Failed lookup for key [openid='https://dev-292302] in u"[{'False': False, 'None': None, 'True': True}, {}, {}, {'site_name': u'example Server', 'site': <Site: example.com>, 'form': <AuthenticationForm bound=False, valid=False, fields=(username;password)>, 'next': u'/'}]" .
Другое дело, что, как мне кажется, это может быть связано, док говорит добавить id в поле extra_data
socialaccount.Так я должен сначала создать социальную учетную запись?
Атрибуты находятся в форме (идентификатор, имя, обязательно), где идентификатор является ключом в поле extra_data socialaccount, имя является идентификатором запрошенного атрибута и обязательный указывает, требуется ли атрибут.