首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Firebase自定义登录期间存储密钥的位置

在Firebase自定义登录期间存储密钥的位置
EN

Stack Overflow用户
提问于 2014-03-24 23:18:47
回答 1查看 656关注 0票数 1

我正在将Node.JS与Firebase结合起来,并计划使用LinkedIn登录用户。

后端的

代码语言:javascript
复制
var FirebaseTokenGenerator = require("firebase-token-generator");
var mySecret = 'XXXXX'


module.exports = function (app, passport) {

    app.get('/fire', function (req, res) {
        var tokenGenerator = new FirebaseTokenGenerator(mySecret);
        var token = tokenGenerator.createToken({                                            
            "app_user_id": 123X, "isModerator": true
        });

    res.render('firebase-index.ejs', {token: token, kale: 'mazing'}); })
};

模板上的-index.ejs:

在这里,我不知道如何存储令牌,以便在秋季使用。我似乎不能直接使用它,除非我将它插入到像这样的DOM元素中

代码语言:javascript
复制
<span id="token"><%= token %><span>

然后我可以使用下面的“token.textContent”来访问它。

代码语言:javascript
复制
dataRef.auth(token.textContent, function(error) {
    if(error) {
        console.log("Login Failed!", error);
    } else {
        console.log("Login Succeeded!");
        console.log(token.textContent);
    }
});

这是一种安全/首选的方法吗?此外,在我登录后,如何访问auth变量?谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-03-25 21:30:49

在现代应用程序中,大多数情况下,您会向服务器API请求auth令牌,而不是将auth令牌作为HTML主体的一部分发送。这是通过对后端进行HTTP调用来完成的,它将返回一个JSON对象(即异步请求)。

服务器代码(假设表示):

代码语言:javascript
复制
var FirebaseTokenGenerator = require("firebase-token-generator");
var tokenGenerator = new FirebaseTokenGenerator(process.env.FIREBASE_SECRET);

app.get('/authToken', function(req, res){
   var token = tokenGenerator.createToken({some: "arbitrary", data: "here"});
   res.json(token);
});

客户端代码(假设为jQuery):

代码语言:javascript
复制
$.getJSON( "https://SERVER/authToken", function( token ) {
   console.log(token);
});

如果您无法将其作为视图/html数据的一部分返回,则可以将其直接注入JavaScript变量(因为您正在生成它,并且知道它不包含任何恶意代码)。

在这里,我只使用窗口(即全局的),但是您希望有一些作用域对象(例如myApp.config.authToken),您可以将它附加到其中。

代码语言:javascript
复制
<script>window.authToken = '<%= token %>';<script>
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22622558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档