我正在开发一个使用 Firebase 作为后端的应用程序。我有一个使用 Firebase 的 GitHub 身份验证的工作实现。但是,我想将我的完整应用程序(所有读/写操作)限制为特定 GitHub 组织中的人员。
据我所知,这是通过在 Forge 中添加安全规则来完成的。但是,用户的组织不是 GitHub 提供给 Firebase 以供使用的“基本身份验证数据”的一部分。我有什么方法可以让应用程序只对特定组织的成员可用?
当前代码:
var FB = new Firebase('https://XXXXX.firebaseio.com');
var auth = new FirebaseSimpleLogin(FB, function(error, user){
if(user==null){
auth.login('github',{rememberMe:true});
}
else{
//We are logged in
$.getJSON("https://api.github.com/user/orgs?access_token="+user.accessToken+"&callback=?", function(data){
var orgs = data.data.map(function(org){return org.login});
if(orgs.indexOf(config.github_org)>-1){
//Public Member of Chosen Github Org
//Now we fetch the data and render it
}
else{
//Throw them out
alert("Join the group "+config.github_org+" on GitHub to get access to Eon");
document.location="https://github.com/"+config.github_org;
}
})
}
});