问题标签 [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 回答
35 浏览

reactjs - 在前端进行身份验证是用户是否登录

我正在使用 MERN 堆栈并已实现服务器端社交登录。作为用户,我可以让用户使用 Google 登录。用户登录后,我将尝试检查用户是否从前端(React)登录。

服务器.js

Users.js(后端)

App.js(客户端)

如果我尝试在浏览器中检查端点http://localhost:8000/users/isLoggedIn,我会在用户登录后得到响应 true。但是在发出 get 请求时,req.user返回undefined. 有没有其他方法可以检查用户是否登录?

0 投票
0 回答
51 浏览

node.js - 如何使用刷新令牌获取 oath2 访问令牌

我有一个定期阅读电子邮件的节点 js 应用程序。

然后是邮件

访问令牌过期 - 如何获取新的访问令牌?在获取电子邮件时,我不希望用户每次都进行干预。 https://datatracker.ietf.org/doc/html/rfc6749 oath2 文档指出刷新令牌可用于再次获取访问令牌。有人可以帮忙 - 如何使用刷新令牌获取访问令牌?

0 投票
0 回答
24 浏览

node.js - Passport js Google Ouath2 范围

我有一个项目,这个项目有一个登录页面,我使用护照 js google-ouath20。

我需要性别、出生日期信息,这就是我在 google 上添加新范围的原因 在此处输入图像描述

但毕竟,当我尝试获取信息时,我只能访问个人资料和电子邮件信息。我错了其中的哪一部分?

0 投票
2 回答
116 浏览

node.js - 从 express js 访问 google auth 时出现 Angular cors 错误

错误:从源“http://localhost:4200”重定向自“http://localhost:5000/auth/google”)已被 CORS 策略阻止:不存在“Access-Control-Allow-Origin”标头请求的资源。

即使我在服务器中使用 cors 模块,我也会收到此错误。

也试过这个而不是 cors

我的角度服务代码

当我单击使用 google 按钮登录时,此服务方法将被执行

0 投票
0 回答
58 浏览

node.js - Google使用passport-google-oauth20登录时出现Heroku错误

我在 express js 中使用 passport-google-oauth20 GoogleStrategy 进行用户登录。Heroku 上的网站托管。当我尝试登录时,所有用户详细信息都会进入 mongodb 数据库,但屏幕卡在 Heroku 错误“应用程序错误”页面中。在此之后,当我直接输入我网站的主页网址时,我发现我已登录。之后一切正常。现在主要问题是“为什么在按下谷歌登录按钮后屏幕卡在 Heroku 的“应用程序错误”页面中?” 当我检查 Heroku 日志时,我发现应用程序使用“http”协议而不是“https”获取路径,该协议已经在 Google 开发人员控制台授权重定向 URI 上更新。如果您理解问题,请给出您的意见。比你。代码在这里更清晰:-

配置/passport.js

路线/auth.js

//根目录 index.js

0 投票
0 回答
32 浏览

node.js - 如何防止在后续用户使用 Google OAuth2 授权登录时请求另一个刷新令牌?

在我使用 NodeJS 创建的网页中,用户每次访问都必须登录 Google 才能重定向到特定页面。因此,每次用户访问时都会有一个新的刷新令牌。在 Google API 中还提到,如果“用户帐户已超过实时刷新令牌的最大数量”,刷新令牌可能会停止工作。

如果用户每次访问授权的事实可能是与该声明相关的问题,我认为如果用户之前已经登录,我应该只使用不包含“access_type:'offline'”的身份验证 URL,因此数据库中已经存储了一个刷新令牌,因此无需请求新的刷新令牌以避免达到限制。

但是,我只能检查用户是否在数据库中已经有一个刷新令牌,在我从谷歌的回复中收到他们的电子邮件之后,到那时新的刷新令牌已经生成了。如何“插入”以查看传入的电子邮件地址,检查该电子邮件是否在我的数据库中具有关联的刷新令牌,如果有,防止在用户登录时请求新的刷新令牌?

0 投票
2 回答
127 浏览

node.js - 成功登录后如何将 JWT 发送到前端服务器以存储在 localStorage 上?

在用户使用 google 登录(护照策略)后,在我当前的应用程序中,我在服务器上生成了一个 JWT 令牌,然后我不知道如何将其发回,同时还将用户重定向到前端网站。

在搜索时,我读到前端应该获取令牌,但这是否意味着我必须缓存 JWT 直到它被请求并设置一些带有密钥的 cookie 以在缓存中获取令牌?我试过这样做,但感觉就像我在重新发明轮子,让自己面临一些安全漏洞。

0 投票
1 回答
119 浏览

android - 令牌交换 - Android + Google + Keycloak

语境:

我正在开发一个原生 Android 应用程序,使用 Google SignIn 对其进行身份验证并且它正在运行。

我还有一个 Keycloak 服务器作为身份提供者与谷歌集成,它也可以工作。

首次登录时,我可以使用访问 http://localhost:8080/auth/realms/chapa/account/ 的网络浏览器从 Google 导入我的帐户。

当我进入 Keycloak 控制台时,我发现我的帐户已创建并与 Google 相关联。

我的 Google 身份提供程序设置是使用 (OpenId Connect v1 + https://accounts.google.com/.well-known/openid-configuration ) 或 Keycloak 上的 Social Google 完成的。

这两种方式都可以使用浏览器导航,因为我看到很少有人抱怨 Keycloak 插件坏了。

我的问题:

在我的 Android 应用程序上,我无法使用 Keycloak 服务器执行令牌交换。

我做了一项研究,这是集成 Android + Google + Keycloak 的唯一方法,因为我不想再次询问我的用户凭据。如果您知道其他方法,请告诉我。

在我的 Keycloak 服务器上,我得到的不是这个警告:

08:09:48,831 WARN [org.keycloak.events](默认任务 11)类型=TOKEN_EXCHANGE_ERROR,realmId=my-realm,clientId=android-app,userId=null,ipAddress=172.17.0.1,error=invalid_token,原因='用户信息调用失败', auth_method=token_exchange, grant_type=urn:ietf:params:oauth:grant-type:token-exchange, subject_issuer=https://accounts.google.com, validation_method='用户信息', client_auth_method =客户机密

这是我在 Postman 上手动对 Keycloak 执行的请求,期望交换令牌:

邮递员响应(400 错误请求):

安卓代码:

0 投票
1 回答
54 浏览

express - 使用护照登录后未发送用于立即重定向请求的 Cookie

我使用护照谷歌oauth策略进行了简单的身份验证设置。它工作得很好,但有一个例外。获得回调后,它会设置一个 cookie(使用 session-cookie)并重定向到主页。但不会针对此即时重定向请求发送 cookie。如果我再次重新加载或转到任何页面,cookie 将正确发送并且我已正确登录。

这是重定向的回调代码

知道可能是什么原因吗???

0 投票
0 回答
50 浏览

python - 需要帮助来解决此错误:AttributeError: 'Credentials' object has no attribute 'authorize'

这是我的代码


这是我在运行我的函数时遇到的错误我不明白为什么会发生错误,我需要你的帮助来解决它。我在网上尝试了很多资源,但直到现在才解决。谢了,兄弟们

当调用 job.Begin() 时,它似乎返回了这个错误。这是我在运行我的函数时遇到的错误我不明白为什么会发生错误,我需要你的帮助来解决它。我在网上尝试了很多资源,但直到现在才解决。谢了,兄弟们