【问题标题】:Firebase Passwordless Auth showing site not found page upon click linkFirebase Passwordless Auth 在单击链接时显示未找到站点页面
【发布时间】:2020-04-01 19:55:56
【问题描述】:

我对@9​​87654324@ 和firebase 非常陌生,我正在尝试设置Passwordless Auth

我已经写的代码:

import React, {Component} from 'react';
import {View, TextInput, Button} from 'react-native';
import auth from '@react-native-firebase/auth';
import AsyncStorage from '@react-native-community/async-storage';

class App extends Component {
  constructor(props) {
    super(props);

    this.state = {
      email: '',
      emailSent: false,
    };
  }

  setEmail = async email => {
    try {
      await AsyncStorage.setItem('emailLink', `${email}`);
    } catch (e) {
      // save error
    }

    console.log('Email is set');
  };

  getEmail = async () => {
    try {
      var value = await AsyncStorage.getItem('emailLink');
    } catch (e) {
      // read error
    }

    console.log('Got email: ', value);
  };

  sendEmailLink() {
    var actionCodeSettings = {
      // The URL to redirect to for sign-in completion. This is also the deep
      // link for mobile redirects. The domain (www.example.com) for this URL
      // must be whitelisted in the Firebase Console.
      url: 'https://passless.page.link/85EH',
      iOS: {
        bundleId: 'org.reactjs.native.example.passless',
      },
      android: {
        packageName: 'com.passless_auth',
        installApp: true,
        minimumVersion: '12',
      },
      // This must be true.
      handleCodeInApp: true,
    };
    auth()
      .sendSignInLinkToEmail(`${this.state.email}`, actionCodeSettings)
      .then(() => console.log('email is sent'))
      .then(() => this.setEmail(`${this.state.email}`))
      .catch(err => console.log('error sending email', err));
  }

  render() {
    return (
      <View style={{flex: 1, alignItems: 'center', justifyContent: 'center'}}>
        <TextInput
          placeholder="email"
          onChangeText={email => this.setState({email: email})}
        />
        <Button title="SignUp/LogIn" onPress={() => this.sendEmailLink()} />
      </View>
    );
  }
}

export default App;

我已成功收到电子邮件,但链接无效。

这是我得到的错误,

电子邮件中的链接会在浏览器而不是应用程序中打开。我应该如何解决这个问题??

我认为我已正确设置控制台中的链接,但我不确定我的代码。

我如何进一步进步? 非常感谢您的帮助。

PS 我正在使用react-native-firebase v6

【问题讨论】:

标签: javascript firebase react-native firebase-authentication react-native-firebase


【解决方案1】:

当您将重定向 URL 从默认 URL 更改为其他未在 GCP 上的项目中注册的重定向 URL 时,就会发生这种情况。

确保在 GCP oAuth 同意的 Firebase 项目凭据部分中将重定向 URL 列入白名单。

https://console.cloud.google.com/apis/credentials/consent

确保已将您的重定向 URL 列入白名单。

我希望这会有所帮助。如果您遇到问题,请告诉我。

【讨论】:

  • 我的域列在 Firebase 控制台的授权域下。为什么它与 GCP 域不同?毕竟 firebase 和 GCP 的连接和组织性都很好
  • 虽然,我试图从您提供的链接中将我的网址列入白名单,但它不接受该链接,我添加了该链接,但是当我刷新页面时,该链接从控制台中消失了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-12
  • 1970-01-01
  • 1970-01-01
  • 2020-02-05
  • 1970-01-01
  • 1970-01-01
  • 2023-04-01
相关资源
最近更新 更多