我正在学习如何做出反应并实施Google登录身份验证。我使用google firebase作为后端。我想做一组操作,只有在用户通过身份验证时才能说出“创建订单”。我正在使用signInWithPopup
方法和.then
我得到一个result
对象,我从中提取.credential.accessToken
并将其设置为状态。然后,当我创建订单时,我使用该令牌传递
/orders.json?auth=<accessToken>
。但我得到401-unauthorized access
作为回报。
Google用户在firebase中创建得很好,并且还会在firebase中正确更新其最后签名的日期戳。
订单提交代码段:
axios
.post("/orders.json?auth=" + accessToken, orders)
.then(Response => {
dispatch(submitOrderStart(Response.data.name, orders));
alert("Order has been added..!!");
})
登录方法代码段:
firebaseApp
.auth()
.signInWithPopup(provider)
.then(result => {
console.log(result);
this.props.onGoogleSignedIn(result);
});
Firebase中定义的规则:
{
"rules": {
"ingredients" : {
".read": "true",
".write": "true"
},
"orders" : {
".read" : "auth != null",
".write" : "auth != null",
".indexOn" : ["userId"]
}
}
}
如果需要更多详细信息,请与我们联系。感谢。