Swift + Vapor framework for server + Xcode 8.1
Firebase Realtime Databaseを読み取ってDBにHTTPリクエストを送信しようとしていますが、権限が拒否されました。
これらはステップです:
1。 「console.developers.google.com」からダウンロードした秘密鍵でJWT署名を作成します
2。 POSTリクエストをOAuth2サーバーに送信し、アクセストークンを取得する
3。 OAuth2サーバーから受信したアクセストークンを使用して、GETリクエストをFirebaseデータベースに送信します。
「Permission denied」、HTTP/1.1 403 Forbiddenが表示される
// 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"
}
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]
私は答えを見つけました ここでグーグルグループを閲覧
headers: ["Authorization":"Authorization: Bearer \(accesstoken)"],
する必要があります
headers: ["Authorization":"Bearer \(accesstoken)"],