【问题标题】:react native redirection with URL pattern使用 URL 模式对本机重定向做出反应
【发布时间】:2017-10-07 16:46:58
【问题描述】:

我正在尝试在我的 react 本机应用程序中添加 facebookgoogle 身份验证。所有这些操作都是在服务器 (ExpressJS) 上使用 passport 完成的。成功后,我想使用以下 url 模式重定向

AppName://login?data=somejson

我已在 expo 的 app.json 中注册了一个方案,如此链接所述 https://docs.expo.io/versions/latest/guides/linking.html 我的 json 如下所示

{
  "expo": {
    "name": "My App",
    "slug": "my-app",
    "sdkVersion": "21.0.0",
    "privacy": "public",
    "scheme": "AppName"
  }
}

在同一个链接中,如果你想在开发模式下在 expo 中打开应用程序,那么链接应该如下所示

exp://wg-qka.community.app.exp.direct:80/+

我已将我的服务器代码更改为使用上述模式进行重定向,但它仍然无法正常工作。我可以打开浏览器并登录,但仅此而已。即使我为此案例添加了事件侦听器,之后也没有任何反应

exp://wg-qka.community.app.exp.direct:80/login?data=somejson

我的 App.js 代码用于本机反应。我期待事件监听器被触发,但没有任何反应

Linking.addEventListener('url', this.someFunction);
Linking.getInitialURL().then((url) => {
  // some operation
});

【问题讨论】:

  • 这里有同样的问题...

标签: javascript express react-native passport.js expo


【解决方案1】:

Expo Desktop example

将在您的 Expo 桌面中生成正确的链接。然后一切正常。 您可以在某处(例如,您启动应用程序的位置)执行 console.log(`${Expo.Constants.linkingUri}`) 并查看当前正在使用哪个 linkingUri。在文档中并不清楚。由于我正在使用终端运行我的应用程序,我花了一段时间才发现。

编辑:对于身份验证,还有可用的 AuthSession 组件:https://docs.expo.io/versions/latest/sdk/auth-session.html

【讨论】:

    【解决方案2】:

    我觉得是这样的 exp://wg-qka.@{your-username}.{your-scheme}.exp.direct:80/+

    【讨论】:

      猜你喜欢
      • 2012-01-18
      • 2018-11-03
      • 2021-09-05
      • 1970-01-01
      • 2021-05-08
      • 2021-03-18
      • 2021-08-19
      • 1970-01-01
      • 2019-04-24
      相关资源
      最近更新 更多