rma*_*es4 7 oauth jwt firebase swift vapor
所以我正在尝试验证Firebase REST API. 我正在使用Vapor框架服务器端swift,我安装了JWT软件包.
我正在尝试使用serviceAccountKey.json文件和JWT中的数据来生成身份验证令牌.
这是我尝试过的代码:
let payload = try JSON(node: [
"iat": Date().timeIntervalSince1970,
"exp": Date().timeIntervalSince1970 + 3600,
"iss": "client_email from serviceAccountKey.json",
"aud": "https://accounts.google.com/o/oauth2/token",
"scope": [
"https://www.googleapis.com/auth/firebase.database",
"https://www.googleapis.com/auth/userinfo.email"
]
])
let privateKey = "copied from serviceAccountKey.json"
let signer = try HS256(bytes: privateKey.bytes)
let jwt = try JWT(payload: payload, signer: signer)
let token = try jwt.createToken()
print(token)
Run Code Online (Sandbox Code Playgroud)
serviceAccountKey.json
{
"type": "service_account",
"project_id": "",
"private_key_id": "",
"private_key": "",
"client_email": "",
"client_id": "",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://accounts.google.com/o/oauth2/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": ""
}
Run Code Online (Sandbox Code Playgroud)
如果您只是想让事情正常运行,最好使用版本 1.5.0
.Package(url: "https://github.com/gtchance/FirebaseSwift.git", Version(1,5,0)),
Run Code Online (Sandbox Code Playgroud)
并使用遗留秘密。项目设置>服务帐户>数据库机密
| 归档时间: |
|
| 查看次数: |
1757 次 |
| 最近记录: |