我们正在构建一个 react-native 聊天应用程序。我们正在 google Firebase 上实施后端身份验证解决方案。在 Firebase Auth 中创建新用户会触发云功能,该功能应使用访问令牌创建新的 SendBird 用户。访问令牌将存储在 Cloud Firestore 中,以供用户下次登录时检索。
我们在执行通过平台 API 创建新用户的 POST 请求时遇到问题。我们正在使用 node.js 的 Request 库。我们能够到达 API 端点,但会返回以下对象:{ message: 'SendBird API Endpoint.', error: true }。没有迹象表明错误可能是什么。
将请求发送到基本 url 时会发生这种情况。当我们将请求发送到 /users 或 /v3/users 时,我们会收到 403 错误。
任何有关可能导致此问题的指示将不胜感激。
下面是云函数 index.js 代码
const functions = require('firebase-functions');
const admin = require("firebase-admin");
const request = require('request');
admin.initializeApp();
exports.handleNewUser = functions.auth.user().onCreate((user) => {
var newUserRequestBody = {
"user_id": user.email,
"nickname": user.email,
"profile_url": "",
"issue_access_token": true,
}
request.post({
headers: {
'Content-Type': 'application/json, charset=utf8',
'Api-Token': // API Token
},
url: 'https://api-{application_id}.sendbird.com',
form: newUserRequestBody
}, function(error, response, body){
if (!error && response.statusCode === 200) {
const info = JSON.parse(body);
console.log("request successful");
console.log(response.statusCode);
console.log(info);
}
else{
console.log("request unsuccessful");
console.log(response.statusCode);
console.log(error);
}
});
return null;
});