gpt4 book ai didi

javascript - Node/Vuejs 应用程序中处理用户登录的逻辑

转载 作者:太空宇宙 更新时间:2023-11-04 01:36:57 26 4
gpt4 key购买 nike

我正在 Vuejs 中构建一个 Web 应用程序,但我再次遇到了同样的问题。

简而言之,我允许用户使用他们的 Twitch 帐户进行注册(使用 Twitch 登录),效果非常好。我的问题更多是关于单页应用程序在使用第三方服务登录方面的一般架构。

我的堆栈是 Nodejs、Vuejs 作为前端,connect-mongo 用于处理 Mongo 数据库中的 session 。

我的问题有点笼统:

1) 一旦用户使用 Twitch 登录,我就会获得一个 access_token 和一个 refresh_token,以及一个配置文件对象。我该怎么处理这些东西呢?使用 token 在我的数据库中创建用户对象?

2) connect-mongo 工作正常 - 它正在我的 Mongo db sessions 表中设置一条记录。再说一遍 - 我应该对这些数据做任何事情还是纯粹在幕后管理用户登录?

3) 我想在前端使用此登录状态(例如,如果用户尝试访问成员(member)专用页面,则将用户踢回登录页面) - 从前端的 Angular 来看,我可以“检查”什么来了解用户是否已登录? Twitch 登录时设置了大量 cookie,但我不知道它们的含义。

4) 如果他们的登录已过期,我如何强制他们重新登录?

还有一条信息是,当他们不在网站上时,我不会提取有关他们的任何信息。 Twitch 登录纯粹是为了获取他们的个人资料以定制他们的体验。

我看过一百张 Oauth 登录流程的流程图,但没有一张是通俗易懂的。至少我没有发现 - 似乎发生了数十次握手,但我不知道他们登录后在我的应用程序上下文中实际发生了什么。许多随机的字符串和标记四处飞舞,没有太多解释。

这是我当前的服务器代码:https://github.com/gedrick/multitwitch/blob/master/server.js

在第 70 行左右,我想到了“我复制了示例代码,但现在不知道发生了什么”。

这些是一些一般性问题,非常感谢任何有助于了解如何验证和管理用户登录的帮助。几周以来我所尝试的一切都以失败告终。感谢您的阅读!

最佳答案

我希望这不会被视为作弊,但我整理了 Passport 登录/身份验证的完整演示。它使用 Mongo 来存储用户及其 token 。

https://github.com/gedrick/vue-node-passport

关于javascript - Node/Vuejs 应用程序中处理用户登录的逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54241581/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com