2016-08-01 37 views
0

Ich versuche, einen einfachen Test für eine URL zu schreiben, die nur für angemeldete Benutzer sichtbar sein sollte (ich verwende before_action :authenticate_user!, um dies zu erreichen).Wie authentifizieren Benutzer mit devise_token_auth rails gem richtig?

Auch wenn ich (glaube), dass ich alle Header richtig zuweisen ich JSON-Antwort immer erhalten {"errors":["Authorized users only."]}

Mein Test sieht wie folgt aus (Login (auf Header Informationen zu erhalten), dann besuchen geschützte URL mit allen Header erforderlich)

post "/api/v1/auth/sign_in", {:email => user.email, password: 'password'} 

header_hash = { 
    'access-token' => response.headers['access-token'], 
    'uid'   => response.headers['uid'], 
    'client'  => response.headers['client'], 
    'expiry'  => response.headers['expiry'] 
} 

get "/api/v1/subscription_status", nil , header_hash 

Was mache ich falsch?

Antwort

0

Ich wusste nicht, dass sich das Authentifizierungstoken bei jeder Anfrage standardmäßig ändert.

conf/device_token_auth.rb

config.change_headers_on_each_request = false 

stelle ich diese Einstellung falsch und danach bekam ich Antworten, die ich erwartet hatte.