问题标签 [passport-google-oauth2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
19 浏览

node.js - 缺少 Google OAuth 2 刷新令牌

我对 google oauth 2 有疑问。我想获取刷新令牌,但它没有出现。从字面上尝试了每种方法来检索刷新令牌,但没有一个起作用。

这是我的代码:

对此有什么想法吗?为什么我没有得到 refreshToken?

0 投票
1 回答
91 浏览

node.js - 如何同时使用承载和 oauth2 passport.js 策略?

最近我开始使用 passport.js 和 oauth2 策略进行身份验证。起初,我使用会话,一切都很好,但我希望我的 API 是无状态的。我发现唯一可以帮助我的是不记名策略(passport-http-bearer)。我找不到任何一起使用这两种策略的好例子,所以我有点迷茫。也许我走错路了。让我解释一下我想要做什么。

假设我已经像这样配置了谷歌策略(passport-google-oauth2):

此路由将用户重定向到他们将进行身份验证的谷歌:

这个处理响应并将用户登录:

Google 策略发出一个不记名令牌,我想将该令牌返回给用户,以便我可以将其存储在客户端的 localStorage 中,并将其发送Authorization到每个请求的标头中以对用户进行身份验证。我的第一个问题是如何以及在哪里?我可以访问策略的验证令牌中的令牌,但我不知道应该如何在响应正文中将其返回给用户。

我使用承载策略 (passport-http-bearer) 保护需要经过身份验证的用户的路由。我已经这样配置它:

验证函数的第一个参数是Authorization标头中的令牌。当用户使用谷歌注册时,我将颁发的令牌保存在数据库中(假设它是“1234”)。用户应在Authorization标头中发送他们的令牌(如“Beader 1234”),如果令牌在数据库中,则他们已通过身份验证。

现在我可以使用承载策略保护路由:

将 google OAuth 令牌保存在数据库中好吗?我需要刷新它吗?您如何看待我正在尝试做的整个过程?我来自 jwt 世界,它对我来说是有线的。

0 投票
0 回答
23 浏览

node.js - 无法解析已删除的 Google Oauth2 登录客户端 ID

嘿,我正在尝试用新的客户端 ID 替换我的旧客户端 ID,但浏览器倾向于在身份验证时获取旧客户端 ID

Google 客户端 ID 已删除错误

环境配置.js