页面上仅允许经过身份验证的用户

艾萨克·德·阿劳霍·梅内斯(Isaac de Araujo Meneses)

我想知道如何配置页面以仅允许Firebase中经过身份验证的用户。我在设置网站方面遇到困难,希望用户输入登录名和密码,并在身份验证后将其定向到他的个人资料。

用户所指向的配置文件(网页)具有URL

www.example.com/"user.uid"/index.html

但是只有经过身份验证的用户才能访问此页面,因此,如果有人访问该URL

www.example.com/"user.uid"/index.html

必须将用户定向到主页

http://www.example.com

登录页面上的代码:

btnLogin.addEventListener('click', e =>{
        const email = txtEmail.value;
        const pass = txtPassword.value;
        const auth = firebase.auth();
        const promise = auth.signInWithEmailAndPassword(email,pass);
        promise
        .then(user => window.location.href="http://www.example.com/" + user.uid + "/index.html")
        .catch(e => console.log(e.message));
    })

客户端页面上的代码:

firebase.auth().onAuthStateChanged(firebaseUser => {
        if(firebaseUser){
            console.log(firebaseUser);
        }else{
            window.location.href = "http://www.example.com";
            console.log("offline");
                    }
});

我遇到的问题是,当您重定向到客户端页面时,用户状态变为脱机

博耶尔

Firebase经过优化,可以处理客户端,尤其是单页应用程序。您可以执行以下操作之一:

  1. 处理身份验证检查客户端:在该页面上添加onAuthStateChanged侦听器www.example.com/"user.uid"/index.html:如果用户未登录且与该页面的uid不匹配,请重定向至登录页面。

  2. 使用Cookie。登录后,您可以将Firebase ID令牌发送到后端并创建会话Cookie,也可以仅将ID令牌用作会话Cookie。在执行此操作之前,请确保验证该ID令牌。Firebase有一个node.js和Java库来帮助实现这一点。您还必须确保随着Firebase ID令牌每隔一小时失效,您就不断在客户端上监听身份验证更改。无论如何,使用cookie时,下一次用户请求受限资源时,您需要在提供资源之前检查cookie是否有效并与预期用户匹配,否则将其登录到登录页面302。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

仅允许经过身份验证的用户访问Django中的某些页面

来自分类Dev

允许经过身份验证的用户仅查看其数据

来自分类Dev

laravel仅允许经过身份验证的用户访问特定路由

来自分类Dev

laravel仅允许经过身份验证的用户访问特定路由

来自分类Dev

Google远程API允许仅使用经过身份验证的用户进行写操作

来自分类Dev

更改Zope2浏览器resourceDirectory权限以仅允许经过身份验证的用户

来自分类Dev

GPO仅适用于经过身份验证的用户

来自分类Dev

Django-跟踪经过身份验证的用户页面

来自分类Dev

Django-跟踪经过身份验证的用户页面

来自分类Dev

如何将我的Vimeo视频嵌入到自己的网站中,并仅允许经过身份验证的用户观看?

来自分类Dev

Azure身份验证:仅允许启用了MFA的用户

来自分类Dev

Azure身份验证:仅允许启用了MFA的用户

来自分类Dev

Django-allauth-防止未经身份验证的用户查看针对经过身份验证的用户的页面

来自分类Dev

Django-allauth-防止未经身份验证的用户查看针对经过身份验证的用户的页面

来自分类Dev

从经过身份验证的用户获取CognitoId

来自分类Dev

CouchDB“经过身份验证的用户”角色

来自分类Dev

如何为每个有效的页面请求验证经过身份验证的用户

来自分类Dev

Django Url组仅适用于经过身份验证的用户

来自分类Dev

如何仅向经过身份验证的用户提供私人内容?

来自分类Dev

Django Url组仅适用于经过身份验证的用户

来自分类Dev

Laravel 仅检索属于经过身份验证的用户的模型记录

来自分类Dev

在 Laravel 5.8 中仅显示当前经过身份验证的用户订单

来自分类Dev

使用经过身份验证的用户的laravel验证5.1

来自分类Dev

C#WinForms-使用WebClient填写经过身份验证的页面上的表单元素并提交

来自分类Dev

如何将未经身份验证的Blazor Azure AD用户重定向到与经过身份验证的用户不同的页面?

来自分类Dev

两个根页面;一种用于未经身份验证的用户,一种用于经过身份验证的用户

来自分类Dev

使用Python请求访问经过身份验证的页面

来自分类Dev

并非所有页面都经过身份验证Rails

来自分类Dev

Nginx在经过身份验证的页面后面提供静态内容

Related 相关文章

  1. 1

    仅允许经过身份验证的用户访问Django中的某些页面

  2. 2

    允许经过身份验证的用户仅查看其数据

  3. 3

    laravel仅允许经过身份验证的用户访问特定路由

  4. 4

    laravel仅允许经过身份验证的用户访问特定路由

  5. 5

    Google远程API允许仅使用经过身份验证的用户进行写操作

  6. 6

    更改Zope2浏览器resourceDirectory权限以仅允许经过身份验证的用户

  7. 7

    GPO仅适用于经过身份验证的用户

  8. 8

    Django-跟踪经过身份验证的用户页面

  9. 9

    Django-跟踪经过身份验证的用户页面

  10. 10

    如何将我的Vimeo视频嵌入到自己的网站中,并仅允许经过身份验证的用户观看?

  11. 11

    Azure身份验证:仅允许启用了MFA的用户

  12. 12

    Azure身份验证:仅允许启用了MFA的用户

  13. 13

    Django-allauth-防止未经身份验证的用户查看针对经过身份验证的用户的页面

  14. 14

    Django-allauth-防止未经身份验证的用户查看针对经过身份验证的用户的页面

  15. 15

    从经过身份验证的用户获取CognitoId

  16. 16

    CouchDB“经过身份验证的用户”角色

  17. 17

    如何为每个有效的页面请求验证经过身份验证的用户

  18. 18

    Django Url组仅适用于经过身份验证的用户

  19. 19

    如何仅向经过身份验证的用户提供私人内容?

  20. 20

    Django Url组仅适用于经过身份验证的用户

  21. 21

    Laravel 仅检索属于经过身份验证的用户的模型记录

  22. 22

    在 Laravel 5.8 中仅显示当前经过身份验证的用户订单

  23. 23

    使用经过身份验证的用户的laravel验证5.1

  24. 24

    C#WinForms-使用WebClient填写经过身份验证的页面上的表单元素并提交

  25. 25

    如何将未经身份验证的Blazor Azure AD用户重定向到与经过身份验证的用户不同的页面?

  26. 26

    两个根页面;一种用于未经身份验证的用户,一种用于经过身份验证的用户

  27. 27

    使用Python请求访问经过身份验证的页面

  28. 28

    并非所有页面都经过身份验证Rails

  29. 29

    Nginx在经过身份验证的页面后面提供静态内容

热门标签

归档