使用Facebook OAuth凭据的Firebase身份验证(来自Google扩展程序)

时间:2016-06-16 17:10:05

标签: javascript google-chrome-extension oauth firebase firebase-authentication

我正在玩新的Firebase,但我正在努力使用auth系统。

因为我试图从google扩展程序的选项页面登录用户,所以由于某些安全原因,我无法使用signInWithPopup或Redirect方法。

所以我找出了可能的解决方案。从选项页面我将用户重定向到我的另一个页面,在那里他可以轻松登录Firebase(由Facebook提供商) - 一切正常 - 用户获取OAuth FB令牌,此页面向扩展程序发送消息以缓存此令牌。

存在问题。

我有这样的代码:

firebase.initializeApp(FIREBASE_CONFIG);
var credential = new firebase.auth.FacebookAuthProvider.credential(token);
firebase.auth().signInWithCredential(credential)
.then((data) => {
  console.log(data);
})
.catch((err) => {
  console.error(err.code);
})

这会向https://www.googleapis.com/identitytoolkit/v3/relyingparty/发出POST请求并作为回应我可以清楚地看到错误:

message:"INVALID_REQUEST_URI"

此请求是使用requestURI有效负载触发的,该情况属于我的情况:

chrome-extension://kefhjfjilmodblnpnekjleceapohasdf/options.html

当我尝试使用CURL从终端触发此请求时,我使用' http://localhost'伪造了requestURI。一切都很好,我得到了正确的数据。

你有什么想法,我怎样才能达到正确的行为?

非常感谢。

P.S:我使用的是Firebase.js 3.0.5-rc.2

0 个答案:

没有答案