2017-02-09 22 views
2

firebase認証のみを使用して、独自のデータベースを使用して独自のAPIを作成することは可能ですか?Firebase Auth + Own Api

したがって、firebaseトークンを使用してauthentificateにREST APIを書き込みます。

ありがとうございます!

答えて

3

これは、バックエンドAPIに使用する技術によって異なります。 Java、Python、Nodeの開発者を対象としたFirebase Admin SDKがありますが、探している機能はNode SDKでしか利用できないと思います(これには回避策があると思いますが)。

ユーザーのクライアント側でサインインした後、firebase.auth().currentUser.getIdToken()を使用してトークンを要求し、バックエンドに渡して確認することができます。以下の例を参照してください。 NodeとRestifyを使って行われます。

const server = restify.createServer({}); 
server.use(validateJwt); 

function validateJwt(req, res, next) { 

    if(!req.headers.token){ 
     //reject 
    } 
    admin.auth().verifyIdToken(req.headers.token).then(decodedToken=>{ 
     console.log(`token for user ${decodedToken.sub} valid`); 
     admin.auth().getUser(decodedToken.sub).then(user=>{ 
      console.log(`fetched user ${user.email}`); 
      next(); 
     }).catch(err=>{ 
      res.send(500, 'the user with the ID does not exist in firebase'); 
     }) 
    }).catch(err=>{ 
     console.log(`token validation failed: ${err}`); 
     res.send(401, 'authentication failed')}); 
} 
0

Firebaseを使用してユーザーを認証し、認証されたユーザーのみに安全に保存されたリンクへの読み取りアクセスを許可することで、これを実行できるはずです。これが意味するものなら、これはデータベースにリンクすることができます。私はあなたが既にここから始めたと思われますが、これはどこから始めるのですかUnderstand Firebase Realtime Database Rules