最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

在用户登录后处理MEAN堆栈App中的社交媒体集成

运维笔记admin12浏览0评论

在用户登录后处理MEAN堆栈App中的社交媒体集成

在用户登录后处理MEAN堆栈App中的社交媒体集成

用户只能使用他的工作电子邮件在我的应用程序中创建帐户。

示例:[email protected]

在创建帐户后,他可以将多个社交媒体帐户链接到他的个人资料。

示例:[email protected][email protected]

我正在使用MEAN堆栈来开发App。

当用户登录我的应用程序时,我正在创建一个JWT令牌来授权他将来对服务器的所有请求。

社交媒体帐户集成,成功验证后,我可以从这些社交媒体接收accessTokens到后端回调URL。我需要将令牌链接到正确的用户。无论如何,我可以通过我的JWT令牌和回调URL来识别哪个用户发出了请求,因为我无法根据他的社交媒体帐户中的电子邮件识别用户?

我能够使用socket.io来解决这个问题。但我觉得没有必要使用套接字进行简单的身份验证。

有没有其他方法可以解决它?我在网上研究过,很少有人建议使用护照。我不完全理解护照是如何工作的,我只觉得它只是一个中间件来验证来自用户的API请求,我正在使用自定义函数。

有人可以解释是否可以使用护照策略在回调URL中传递JWT?

在MEAN堆栈应用程序中处理此类身份验证的正确方法是什么?自上周以来我一直坚持这个问题,真的很期待一个好的解决方案。

回答如下:

我在一个我一直在努力的大型应用程序中遇到过这种情况,我们用来处理它的方法是将jwtToken存储在redis中,然后在用户cookie的帮助下将其检索回来。让我更详细地解释一下 -

  1. 当用户打开登录页面时,为用户发送新的Cookie。 cookie应该包含一些我们将保存JWT令牌的唯一ID或代码。例如:res.cookie('jwtIdentifier', newid())
  2. 现在,当用户登录时,生成JWT令牌并将其保存到您的redis中,以防止cookie jwtIdentifier的值。例如:redisHelper.set(req.cookies.jwtIdentifier, JWTTOKEN)
  3. 最后,当登录成功并且用户被重定向回您的应用程序时,您可以使用cookie再次为相应的用户检索您的JWT令牌。例如:redisHelper.get(req.cookies.jwtIdentifier)这将返回JWT令牌,然后您可以在该应用程序中为该特定用户使用该令牌。

希望很清楚,如果您对此实施有任何疑问,请与我联系;)

发布评论

评论列表(0)

  1. 暂无评论