javascript 如果url包含#?,Firebase电子邮件身份验证不会重定向

m1m5dgzv  于 2023-01-16  发布在  Java
关注(0)|答案(1)|浏览(108)

我正在使用Firebase电子邮件身份验证,但我似乎不能让Firebase重定向到正确的网址后,点击电子邮件中的链接:
基本代码如下:

let actionCodeSettings = {
    url: "http://localhost:8005/#/auth",
    handleCodeInApp: true,
}

await sendSignInLinkToEmail(auth, email, actionCodeSettings);

// Then you click on the link you receive in the email
// You get redirected to http://localhost:8005/?apiKey=<api_key_is_here>

我尝试了不同类型的网址,如:

"http://localhost:8005/auth" // this works fine

我是否做错了什么,或者我是否需要创建一个解决方案,例如检查查询参数是否包含某个关键字?我需要在URL中使用#,因为我使用的是基于哈希的路由。

iovurdzv

iovurdzv1#

根据www.example.com上的评论readme.md
https://github.com/firebase/firebaseui-web/blob/master/README.md

// So for a url: https://www.example.com/#/signin
          // The completion URL will take the form:
          // https://www.example.com/?uid_sid=xyz&ui_sd=0#/signin
          // This should be taken into account when using frameworks with "hash
          // routing".

所以你必须绕过这个问题。因为这个原因我放弃了基于哈希的路由,改用子域。

相关问题