[英]Logic for Handling User Login in Node/Vuejs App
我正在Vuejs中构建一个Webapp,但又遇到了同样的问题。
简而言之,我允许用户使用其Twitch帐户(使用Twitch登录)进行注册,并且效果很好。 我的问题更多是关于单页应用程序在使用第三方服务登录方面的一般体系结构。
我的堆栈是Nodejs,Vuejs是前端,而connect-mongo用于处理Mongo数据库中的会话。
我的问题比较笼统:
1)一旦用户使用Twitch登录,我就会获得一个access_token和refresh_token以及一个配置文件对象。 这些东西我该怎么办? 在我的数据库中使用令牌创建用户对象?
2)connect-mongo正常运行-它在我的Mongo db sessions
表中设置了一条记录。 再说一次-我应该对这些数据做任何事情还是纯粹在后台管理用户登录?
3)我想在前端使用此登录状态(例如,如果用户尝试访问仅会员页面,则将其踢回登录页面)-从前端的角度来看,我可以“检查”以了解用户是否已登录? Twitch登录设置了很多cookie,但我不知道它们是什么意思。
4)如果他们的登录已过期,如何强制他们再次登录?
另外一条信息是,当它们不在站点上时,我不会提取有关它们的任何信息。 Twitch登录纯粹是为了获得其个人资料以自定义其体验。
我已经看到了一百个Oauth登录过程的流程图,但是没有一个以外行的术语列出。 至少没有发现-似乎发生了数十次握手,但我不知道他们登录后在我的应用程序上下文中实际发生了什么。 许多随机的字符串和标记串在周围飞来飞去,没有太多的解释方式。
这是当前我的服务器代码: https : //github.com/gedrick/multitwitch/blob/master/server.js
在70号线附近,我点击了“我复制了示例代码,现在不知道发生了什么”的思路。
这些是一些一般性问题,对理解如何验证和管理用户登录名的所有帮助对SUPER表示赞赏。 可悲的是,我已经尝试了数周的一切都以沮丧告终。 感谢您的阅读!
我希望这不会被认为是作弊,但我整理了Passport登录/身份验证的完整演示。 它使用Mongo来存储用户及其令牌。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.