Я использую OmniAuth и Devise для аутентификации пользователей. Я бы хотел, чтобы пользователи, которые зарегистрировались с помощью провайдеров OmniAuth, могли установить дополнительный пароль (необходимый для аутентификации API), но я наткнулся на стену.
Если пользователь создает учетную запись через OmniAuth и пытается установить password они получают следующую ошибку:
BCrypt::Errors::InvalidHash in RegistrationsController#update
Я думаю, это потому, что пароль пустой. Что хорошего в этом? Я думал о создании случайного пароля, но проблема с этим подходом заключается в том, что пользователю необходимо знать текущий пароль, чтобы изменять настройки.
Изменить :
Если пользователь создает учетную запись через OmniAuth и пытается установить пароль, он получает следующую ошибку:
BCrypt::Errors::InvalidHash in RegistrationsController#update
Я считаю, что это потому, что пароль пустой. Что хорошего в этом? Я думал о создании случайного пароля, но проблема с этим подходом заключается в том, что пользователю необходимо знать текущий пароль, чтобы изменять настройки.
Изменить :
Если пользователь создает учетную запись через OmniAuth и пытается установить пароль, он получает следующую ошибку:
BCrypt::Errors::InvalidHash in RegistrationsController#update
Я считаю, что это потому, что пароль пустой. Что хорошего в этом? Я думал о создании случайного пароля, но проблема с этим подходом заключается в том, что пользователю необходимо знать текущий пароль, чтобы изменять настройки.
Изменить : Я посмотрел на , позволяющий пользователю изменять настройки без запроса текущего пароля , и это то, что я хотел бы сделать только , если у пользователя изначально не было пароля.