我的应用程序上有一个方便的按钮,最终可以让您与Google无缝登录。它是指向我的节点服务器上/auth/google
的链接,该服务器使用passportjs
进行身份验证,从而将您重定向到您授权该应用程序的Google网址。成功验证后,重定向网址(auth/google/callback
)会被点击,并根据用户的Google信息处理用户对象。
现在,服务器可以将用户重定向到任何需要的地方,但是当发生这种情况时,Angular应用程序需要获取用户对象。据我所知,我不能将user
对象放在重定向中。告诉我的Angular应用程序用户是否已获得授权并获取用户对象副本的最佳做法是什么?
我考虑将它重定向到前端的某个网址,告诉它要求服务器请求新的用户对象,但出于某种原因,我认为这是一种更为优雅的方式。 ..
答案 0 :(得分:0)
我发现如何实现SPA和基于nodejs的身份验证的这种描述很有用: https://www.matthewtyler.io/handling-oauth2-with-node-js-and-angular-js-passport-to-the-rescue/
也许将它与存储在HTTPS cookie而不是会话中的JWT结合使用: https://stormpath.com/blog/token-auth-spa