У меня возникает эта проблема, когда я пытаюсь войти через graphiql, ошибка, которая появляется в консоли, находится в строке, где:
mutations / sign_in_user.rb: 27: in `resolve '" context [: session] [: token] = token
конфигурация для службы входа следующая:
module Mutations
class SignInUser < BaseMutation
null true
argument :credentials, Types::AuthProviderCredentialsInput, required: false
field :token, String, null: true
field :user, Types::UserType, null: true
def resolve(credentials: nil)
# basic validation
return unless credentials
user = User.find_by email: credentials[:email]
puts '---userrr------- ' + user.email.to_s
return Errors unless user
# ensures we have the correct user
return unless user
return unless user.authenticate(credentials[:password])
# use Ruby on Rails - ActiveSupport::MessageEncryptor, to build a token
crypt = ActiveSupport::MessageEncryptor.new(Rails.application.secrets.secret_key_base.byteslice(0..31))
token = crypt.encrypt_and_sign("user-id:#{ user.id }")
puts '---------------- ' + token
context[:session][:token] = token
{ user: user, token: token }
end
end
end
когда я сделал то же самое в первый раз, когда мое приложение было запущено на rails 5.1.7, но теперь оно работает на 6.0, мне было интересно, может ли новая версия, которую я использую сейчас, повлиять на эту конфигурацию.