Реализация openjd для django-allauth для Okta - PullRequest
0 голосов
/ 16 марта 2019

Итак, я следую за этим документом.Я добавил следующее в мои 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, имя является идентификатором запрошенного атрибута и обязательный указывает, требуется ли атрибут.

...