Javascript 跨页面加载持久化Google登录用户身份验证

Javascript 跨页面加载持久化Google登录用户身份验证,javascript,authentication,cookies,google-authentication,Javascript,Authentication,Cookies,Google Authentication,Oauth库和身份验证服务是否使用cookies,因此如果我加载了一个新页面,并且在那里我还需要从Javascript进行身份验证访问,那么以前的身份验证是否仍然有效?还是每次从javascript加载页面后都必须对用户进行身份验证 注意,我不需要服务器端身份验证(例如,从PHP访问),我只需要在客户端进行身份验证。这就是为什么我想知道,如果我在一个页面上从JS进行了身份验证,那么我可以在另一个页面上重用来自JS的身份验证结果吗?客户端库是否知道(例如,使用cookies)我已经在上一页进行了身

Oauth库和身份验证服务是否使用cookies,因此如果我加载了一个新页面,并且在那里我还需要从Javascript进行身份验证访问,那么以前的身份验证是否仍然有效?还是每次从javascript加载页面后都必须对用户进行身份验证


注意,我不需要服务器端身份验证(例如,从PHP访问),我只需要在客户端进行身份验证。这就是为什么我想知道,如果我在一个页面上从JS进行了身份验证,那么我可以在另一个页面上重用来自JS的身份验证结果吗?客户端库是否知道(例如,使用cookies)我已经在上一页进行了身份验证?

当您使用OAuth时,您正在验证您的域(使用您注册的API密钥)。然后,身份验证提供者将根据用户和提供者之间的交互告诉您用户是谁。由您使用cookies(来自您自己的域)或localStorage或您喜欢的任何东西来保持该身份。客户端库可能会提供这种功能。啊,所以身份验证是针对域的。我认为,由于身份验证是在客户端(在某个页面上)完成的,因此其范围仅限于该页面。我将检查是否有一些令牌或东西可以从JS传递到下一页。这不是我的意思。OAuth做了几件事,其中之一是验证客户端是否被合法网站(您)重定向到身份提供者。但是您(服务器端和客户端代码)从来都不是用户和提供者之间身份验证的一部分。无论它可能使用什么会话持久性机制,都对您完全关闭。您是在客户端还是服务器端接收到身份信息并不重要。请注意身份和身份验证之间的区别。您信任身份提供程序对用户进行身份验证(即,根据已知身份匹配机密凭据)。如果您获得了用户的身份,您就无法自己对其进行身份验证。这需要你能够验证他们的提供商(谷歌等)的凭据,这当然不会发生。对我来说,身份验证是重要的一部分,因此,我可以代表经过身份验证的用户从google API获取私人信息,我显然不希望用户每次在新页面上看到同意屏幕,我想从JS获取信息,因为这将是糟糕的用户体验。但据你所说,身份验证会话持久性对我来说是封闭的,所以提供平滑的身份验证体验取决于谷歌的身份验证服务。