Я пытаюсь использовать ckanext-persona (https://github.com/ckan/ckanext-persona) для моего пользовательского входа в CKAN. Вначале Все идет хорошо: Успешно зарегистрируйте новую учетную запись, поэтому у меня есть случайное имя пользователя, входившего в систему с моим текущим электронным письмом. Но когда я пытаюсь изменить имя пользователя на более гуманизации (по умолчанию это что-то вроде a6f282c6-4c5a-4467-a541-c51fc21e4a4fs
) странно думает, что происходит:CKAN persona сеансы конфликтов после имени пользователя update
- Сразу после я нажать кнопку «профиль обновления» я получил перенаправлять
http://localhost/user/new_user_name?__no_cache__=True
с ошибкой 500 на этой странице. И мой пользователь не регистрируется визуально. Полный журнал ошибок https://gist.githubusercontent.com/wide-awake/a80143d5cb4f333a524b/raw/b1af1d82a583863de9d636e868ac808bbc0b0ba6/ckan-persona_username_update_errror - Далее, если нажать «вход» я получил обычную страницу входа в систему, но с messege
"You're already logged in as a6f282c6-4c5a-4467-a541-c51fc21e4a4f. Logout?"
- Если я нажимаю «Выход» на это сообщение угадайте, что? Система выйдет из системы, и я автоматически зарегистрировался как
new_user_name
.
Я думаю, что сессия со старым именем пользователя не была уничтожена, когда я обновляю профиль. Можете ли вы указать мне в правильном направлении?
Также каждый раз, когда я удаляю выход (от любого пользователя), я получил всплывающее окно «logout failed» перед обычным You are now logged out
.
Я получил комментарий от @rossjones в CKAN IRC: Если бы мне пришлось угадать, я бы подумал, что это будет что-то вокруг https://github.com/ckan/ckanext-persona/blob/master/ckanext/persona/ plugin.py # L70 и https://github.com/ckan/ckanext-persona/blob/master/ckanext/persona/plugin.py#L81 –
@rossjones: Я думаю, что это но - IAuthenticator не вызывается, когда user_update обрабатывается для входа пользователя в систему - поэтому сеанс неверен. –