【发布时间】:2020-04-02 09:44:30
【问题描述】:
我有一个使用 Firebase 的 react-native 应用程序(使用“@react-native-firebase/auth”:“^6.0.1”)。
在应用程序中有一个 Webview(带有“react-native-webview”:“^7.5.2”)。
用户登录,然后我可以使用以下命令访问其 jwt:
auth().currentUser.getIdTokenResult()
.then(jwtToken => {
console.log('jwtToken: ', jwtToken.token);
})
现在我需要用户打开 Webview 并仍然处于连接状态,因为 Webview 指向我的 Firebase 托管页面。
<WebView
source={{
uri: 'my-firebase-hosting-url',
headers: {
Authorization: jwtToken,
},
}}
renderLoading={this.renderLoadingView}
startInLoadingState={true}
sharedCookiesEnabled={true}
thirdPartyCookiesEnabled={true}
domStorageEnabled={true}
ref={ref => {
this.webview = ref;
}}
/>
在服务器端,我设置了 express 和 cookie-session。
用户似乎没有登录 webview:在服务器端,当我 console.log(req.session) 显示一个空对象 {}。
我尝试了多个选项,但在 iOS 中似乎没有任何效果(尚未在 Android 上尝试过)
我错过了什么?前端/后端是否有额外的步骤? (我还是编程新手)
谢谢您的帮助。
【问题讨论】:
标签: firebase react-native webview firebase-authentication stripe-payments