【发布时间】:2019-09-02 19:23:20
【问题描述】:
我们正在构建一个 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;
});
【问题讨论】:
标签: sendbird