我正在我的网站(http://mysite.example.com)上工作;在这里我使用Firebase
实现了登录系统。
换句话说,当访客进入时,他们必须以Firebase
用户身份登录,然后(仅)在登录时才能进入我的网站。
尽管它可以正常工作,但我仍然需要确保该过程的安全。搜索网络带给我很多东西。但是我想知道我需要为自己的目标走多远。换句话说,如果我能通过几个简单的步骤就能完成我所需要的工作,我就不会花费数小时的学习时间。
我找到的一个文件是: https://firebase.google.com/docs/auth/admin/verify-id-tokens#retrieve_id_tokens_on_clients
这是我要记住的两个问题:
上述文档在注释中表示: 使用....
可以完成许多用于验证服务器上ID令牌的用例。但是我不确定这将使我走上一条简单的道路。
这是我目前使用的那种代码:
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
// User is signed in.
checkUser();
} else {
// No user is signed in.
console.log("No user has logged in yet.");
}
});
function checkUser() {
let user = firebase.auth().currentUser;
if (user) {
.........
// The user is signed in, we open the door to the web site.
window.open("http://mysite.example.com",'_self');
} else {
// No user is signed in.
console.log("No user is logged in.");
}
}
在标记为.....的地方,我做的不多;但我可能需要添加这样的代码(进行某种相当复杂的验证):
user.getIdToken(true).then(function(idToken) {
// Send token to your backend via HTTPS
// ...
console.log("getIdToken - Seem-To-Be-OK! \n\t" + idToken);
}).catch(function(error) {
// Handle error
console.log("getIdToken - Error: " + error);
});
这是我想确认的,并且知道什么是最简单的解决方案。