我使用JS库调用firebase.auth().signInWithEmailAndPassword(email, password)并获取一个User对象.该User对象包含一个refreshToken.
我curl 'https://docs-examples.firebaseio.com/rest/saving-data/auth-example.json?auth=TOKEN'用来拨打Firebase.
令牌最终会过期.为了使它看起来像应用程序(iOS和macOS)具有持久登录,我想刷新令牌,我如何使用REST或JS库?我在文档中找不到任何允许我使用它refreshToken来获取新内容的调用token.
我有一个 Firebase 云功能,可以对从给定电子邮件中找到的 Firebase 用户设置自定义声明。
这是函数代码:
export const addAdmin = functions.https.onRequest(async (request, response) => {
// Setting policies
response.set("Access-Control-Allow-Origin", "*");
response.set("Access-Control-Allow-Methods", "POST");
response.set("Access-Control-Allow-Headers", "Content-Type");
try {
let details = JSON.parse(request.body);
let user = await admin.auth().getUserByEmail(details.email);
if (details.master !== "************") throw Error("Wrong Password");
admin
.auth()
.setCustomUserClaims(user.uid, { admin: true })
.then(() => {
response.send(
`User with uid ${user.uid} was set with claims - ${JSON.stringify(
user.customClaims
)}`
);
})
.catch(error => {
console.error(error);
response.status(400).send(error);
});
} catch (error) {
console.error(error);
response.status(400).send(error);
} …Run Code Online (Sandbox Code Playgroud)