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;
}
})
}
});