2016-11-25 7 views
10

स्विफ्ट + वाष्प ढांचे के माध्यम से firebase डाटाबेस तक नहीं पहुंच सकता, लेकिन मैं अनुमति नहीं दी मिलता है।HTTP/बाकी त्रुटि 403 निषिद्ध सर्वर + Xcode 8.1</p> <p>मैं Firebase रीयलटाइम मेरी डीबी के HTTP बनाने डाटाबेस को पढ़ने के लिए कोशिश कर रहा हूँ के लिए

ये कदम हैं:
1. जेडब्ल्यूटी "console.developers.google.com" से
2. भेजने पोस्ट OAuth2 सर्वर से अनुरोध करता है और प्राप्त पहुँच टोकन
3. भेजने डाउनलोड किया गुप्त कुंजी के साथ इस पर हस्ताक्षर बनाने OAuth2 सर्वर से प्राप्त टोकन के साथ डेटाबेस को फायरबेस डेटाबेस के लिए अनुरोध प्राप्त करें।

मैं "अनुमति अस्वीकृत", HTTP/1.1 403 निषिद्ध

// the header of the JSON Web Token (first part of the JWT) 
let headerJWT = ["alg":"RS256","typ":"JWT"] 

// the claim set of the JSON Web Token 
let jwtClaimSet = 
    ["iss":"[email protected]", 
"scope":"https://www.googleapis.com/auth/firebase.database", //is this the correct API to access firebase database? 
"aud":"https://www.googleapis.com/oauth2/v4/token", 
"exp": expDate, 
"iat": iatDate] 


drop.get("access") { request in 
var accesstoken = "ya29.ElqhA-....XXXX" 

let responseFirebase = try drop.client.get("https://fir- 30c9e.firebaseio.com/data/Users.json", 
    headers: ["Authorization":"Bearer \(accesstoken)"], 
    query: [:]) 

print("FirebaseResponse_is \(responseFirebase)") 
return "success" 
} 

Firebase Service Account FireBase Database Rulles

+0

@frank वैन puffelen तुम क्यों मैं अपने Firebase डेटाबेस के लिए उपयोग नहीं मिल सकता है के रूप में अपनी राय शेड कृपया सकते हैं पाया? – bibscy

उत्तर

3

scope कुंजी मान याद आ रही थी https://www.googleapis.com/auth/userinfo.email

let jwtClaimSet = 
    ["iss":"[email protected]", 
"scope": "https://www.googleapis.com/auth/firebase.database 
https://www.googleapis.com/auth/userinfo.email", 
"aud":"https://www.googleapis.com/oauth2/v4/token", 
"exp": expDate, 
"iat": iatDate] 

मैं जवाब browsing google groups here

+0

यह काम किया है, धन्यवाद –

0
headers: ["Authorization":"Authorization: Bearer \(accesstoken)"], 

headers: ["Authorization":"Bearer \(accesstoken)"], 
+0

मुझे अभी भी त्रुटि मिलती है: अनुमति अस्वीकृत – bibscy

+0

क्या आप accesstoken खोलने का प्रयास कर सकते हैं? 'हेडर: ["प्रमाणीकरण": "बेयरर \ (accesstoken!)"], अपने हेडर को प्रिंट भी करें और यह पोस्ट करें कि यह –

+0

जैसा दिखता है, मैं अनचाहे' accesstoken' को मजबूर नहीं कर सकता क्योंकि यह वैकल्पिक नहीं है। FirebaseResponse_is प्रतिक्रिया '- HTTP/1।1 403 निषिद्ध - हेडर: \t कनेक्शन: जीवित-रखें \t कैश-नियंत्रण: नहीं कैश \t सर्वर: nginx \t तिथि: शुक्र, 25 नवंबर वर्ष 2016 17:55:00 GMT \t सामग्री प्रकार: आवेदन/json; charset = utf-8 \t सामग्री-लंबाई: 37 \t सख्त-परिवहन-सुरक्षा: अधिकतम उम्र = 31,556,926; includeSubDomains; प्रीलोड \t एक्सेस-कंट्रोल-अनुमति-उत्पत्ति: * - बॉडी: \t { "त्रुटि": "अनुमति अस्वीकार कर दी गई।" } ' – bibscy

4

TLDR होना चाहिए; प्राधिकरण शीर्षलेख का उपयोग करने के बजाय अपनी क्वेरी स्ट्रिंग में auth=<TOKEN> डालने का प्रयास करें।


फायरबेस दस्तावेज़ इस बात पर अस्पष्ट है कि यह कैसे काम करता है। दस्तावेज़ीकरण के अनुसार, काम करने के लिए तीन विधियां हैं।

  1. क्वेरी स्ट्रिंग में auth=<TOKEN> (link)
  2. क्वेरी स्ट्रिंग (link)
  3. अनुरोध हेडर में Authorization: Bearer <TOKEN> (link)

मुझे विश्वास है कि तीनों विधियों वास्तव में ऐसा नहीं कर रहा हूँ में access_token=<TOKEN> हालांकि काम करते हैं। मैं अपने आवेदन में विधि 1 का उपयोग कर रहा हूं, इसलिए मुझे पता है कि एक निश्चित रूप से काम करता है।

+0

तो मैं क्या' हेडर: [:], क्वेरी: [ "प्रमाणन": "ya29.E ... XXXX"]) 'मैं 400 गलत अनुरोध मिलता है। अगर मैं हेडर करता हूं: [:], क्वेरी: ["access_token": "ya29.ElqiA"]) 'मुझे 403 निषिद्ध है। , क्वेरी अगर मैं 'करते हेडर:: [" वाहक \ (accesstoken) "" प्राधिकरण "]: [:])', मैं 403 निषिद्ध – bibscy

+0

मैं भी कोशिश की मिल 'कर्ल https://fir-30c9e.firebaseio.com/ डेटा/Users.json ACCESS_TOKEN = ya29.ElqiAz4TSV-FXkKpXOE636vk__pWx8y5pqZ5QYW ..... और इतने on' और मैं "त्रुटि" मिलती है:? "। अनुमति अस्वीकृत" – bibscy

+0

मुझे यकीन नहीं है। अगर कर्ल भी काम नहीं करता है, तो शायद आपका टोकन अमान्य है? यदि आप एक हार्डकोडेड accesstoken का उपयोग कर रहे हैं, तो यह समाप्त हो सकता है। // www.googleapis.com/प्रमाणन/userinfo.email' – nloewen

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