Firebase自定义OAuth身份验证

时间:2014-10-06 00:51:44

标签: authentication oauth firebase

FireBase似乎支持来自Facebook,Twitter,Google和GitHub的基于OAuth的身份验证。那个不同的OAuth提供商怎么样?如果有一个通用的" OAuth"那就太好了。选项除了指定API Key和Secret之外,您还指定了所需的其他信息。

是否可以使用FireBase现有的基于OAuth的身份验证模块,而无需为FireBase滚动我自己的自定义OAuth身份验证模块,可能需要从内置的"内置" OAuth机制?哪一个是最通用的,如果是这样的话?

2 个答案:

答案 0 :(得分:2)

我现在也挣扎了一段时间,这就是我为我的项目做的。运行具有以下角色的node.js express服务器:

  1. 从您的前端应用程序获取请求
  2. 将用户重定向到oauth页面
  3. 在成功/错误的情况下返回node.js并计算firebase所需的token以便成功登录用户。
  4. 使用包含此令牌的Cookie重新定位,并将用户重定向回前端应用以完成此过程。
  5. 您必须在不同的vps上运行节点服务器才能使您的应用程序正常运行,但如果您有更大的应用程序需要在后端运行私有内容而不是一切都在前面,您可能还需要它。

答案 1 :(得分:1)

Firebase现在有5个基于OAuth的身份验证,Facebook,Twitter,Google,GitHub和Custom Auth。使用自定义身份验证Firebase允许您使用安全的JSON Web令牌(JWT)进行身份验证,从而使您可以完全控制用户身份验证。因此,您可以为API Key和Secret指定其他选项。例如:

var logInAndThen = function(options) {
 var secret = '********************';
 var tokenGenerator = new FirebaseTokenGenerator(secret);
 var token = tokenGenerator.createToken(credentials[options.userType ||
 'admin'
};