我正在玩新的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