Ich habe eine Rails 5 API nur App und mit klopfen, um JWT authentifizieren.Wie Request-Spezifikation für JWT authentifizieren App mit RSpec
Nachdem ich die Modell- und Modellspezifikation fertiggestellt habe, beginne ich mit der Anforderungsspezifikation.
Aber ich habe keine Ahnung, wie die Authentifizierung innerhalb der Anforderungsspezifikation in der richtigen Weise zu vervollständigen,
Meine Benutzer-Controller,
module V1
class UsersController < ApplicationController
before_action :authenticate_user, except: [:create]
end
end
Application Controller,
class ApplicationController < ActionController::API
include Knock::Authenticable
include ActionController::Serialization
end
Mein dümmste Lösung (rufen Sie die Get-Token-Anforderung ab, um den JWT vor der Ruheanforderung abzurufen),
context 'when the request contains an authentication header' do
it 'should return the user info' do
user = create(:user)
post '/user_token', params: {"auth": {"email": user.email, "password": user.password }}
body = response.body
puts body # {"jwt":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0ODgxMDgxMDYsInN1YiI6MX0.GDBHPzbivclJfwSTswXhDkV0TCFCybJFDrjBnLIfN3Q"}
# use the retrieved JWT for future requests
end
end
Alle Ratschläge sind willkommen.