2015-05-09 7 views
8

ng-token-auth और रेल 'devise-token-auth का उपयोग कर इस समय एक सुंदर नंगे हड्डियों का आवेदन नहीं है। यह ठीक चल रहा है और $ auth विधियां अच्छी तरह से काम कर रही हैं (उदाहरण के लिए, लॉग इन करना)। हालांकि, पेज पर रीफ्रेश करें access-token जारी नहीं रहता है और आईपीक्यूकी का उपयोग करके कुकी पर लिखा नहीं जाता है।एनजी-टोकन-एथ

मेरे रेल एप्लिकेशन उचित हेडर अग्रेषण है के रूप में नीचे देखी गई:

Access-Control-Allow-Credentials:true 
Access-Control-Allow-Methods:GET, POST, DELETE, PUT, OPTIONS, HEAD 
Access-Control-Allow-Origin:http://localhost 
Access-Control-Expose-Headers: 
Access-Control-Max-Age:0 
access-token:XXXXXXXXXXXXXX 
Cache-Control:max-age=0, private, must-revalidate 
client:nYMXLxnuO7BIGZkdXkZ_Xg 
Connection:Keep-Alive 
Content-Type:application/json; charset=utf-8 
Date:Sat, 09 May 2015 21:41:56 GMT 
ETag:"c16291f5079691a2528d5a7876627ede" 
expiry:1431294116 
Keep-Alive:timeout=5, max=99 
Server:Apache/2.4.10 (Unix) PHP/5.5.20 
token-type:Bearer 
Transfer-Encoding:chunked 
uid:[email protected] 
Vary:Origin 
X-Content-Type-Options:nosniff 
X-Frame-Options:SAMEORIGIN 
X-Request-Id:2b224904-944c-48f7-aa4e-d0407e26e893 
X-Runtime:0.230242 
X-XSS-Protection:1; mode=block 

लेकिन जब यह ng-token-auth हेडर की updateHeadersFromResponse विधि के माध्यम से चलाने हो जाता है लाइनों के 588 में विशेष रूप से null-- लौट रहे हैं एनजी-token- auth.js

updateHeadersFromResponse = function($auth, resp) { 
    var key, newHeaders, val, _ref; 
    newHeaders = {}; 
    _ref = $auth.getConfig().tokenFormat; 
    for (key in _ref) { 
    val = _ref[key]; 
    if (resp.headers(key)) { 
     newHeaders[key] = resp.headers(key); 
    } 
    } 
    if (tokenIsCurrent($auth, newHeaders)) { 
    return $auth.setAuthHeaders(newHeaders); 
    } 
}; 

क्या किसी को इसका सामना करना पड़ा है? हेडर को $httpProvider विधि में क्यों नहीं भेजा जाएगा?

उत्तर

13

मैं इस पोस्ट Angular.js saying custom HTTP response header is null

मैं एक बहु-डोमेन सेटअप का उपयोग किया गया था ताकि एपीआई डोमेन CORS विन्यास में कुछ अतिरिक्त उजागर हेडर है करने के लिए आवश्यक में जवाब मिल गया।

config.middleware.insert_before 0, "Rack::Cors" do 
    allow do 
    origins 'api.com' 

    resource '*', 
     :headers => :any, 
     :methods => [:get, :post, :delete, :put, :options, :head], 
     :expose => ['access-token', 'expiry', 'token-type', 'uid', 'client'], 
     :max_age => 0 
    end 
end 

अद्यतन: उजागर सभी कोणीय, केवल वह नहीं जो कि यह काम किया जाता द्वारा आवश्यक फ़ील्ड तो रेल-CORS मणि में मैं पहुँच-टोकन के लिए एक अतिरिक्त उजागर मूल्यवर्धित।

+0

हाँ हाँ हाँ !! मैं दिन के लिए इंटरनेट खोज रहा हूं और अंत में यह किया। –

+0

यह सुनकर खुशी हुई;) –

+0

दो शब्द: जीवन बचाओ! – Simon

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^