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

javascript - 如何在谷歌令牌认证中使用令牌

我是developign api(javascript),passport-google-oauth2我碰到了砖墙。

我找到了许多“基本指南”并遵循了它们...

添加策略: onst myconst= require('../myconst'); const GoogleStrategy = require('passport-google-oauth2').Strategy;

然后,我将其包含在护照中:

// 护照.js

在我的主文件 - app.js 中我添加了:

在所有这一切之后 - 在路由中尝试了 #1 - #3 变种,但它总是将我与每个请求重定向到/auth/google/callback. 我用简单的“GET”(本地主机:8000/api/v1.1/objects1)尝试了它并且只重定向了 - 即使我用谷歌登录,下一个请求我将再次被重定向到相同的路由以进行自动复制。我真的很困惑,真的不知道如何解决它了。你能指出我,这里有什么问题吗?我哪里做错了?

0 投票
0 回答
1035 浏览

node.js - 在没有重定向 URI 的情况下使用 nodejs passport-google-oauth2

我正在使用 nodejs npm 模块passport-google-oauth2

我目前完全按照其示例显示的方式使用它,并在成功验证后使用 google oauth 将回调的重定向 URI:

例子:

服务器端:

客户端:

我知道有一种无需重定向即可使用 Google OAuth 的方法;它只是以某种方式停留在同一页面上(Google SSO)。我认为您可以只使用 a 来完成GoogleVerifier,而不是构建 a new GoogleAuthorizationCodeTokenRequest()(Java示例),但在这一点上我很迷茫。

问题:

  1. 如何在没有重定向 URI 的情况下使用 google oauth2?(我知道可以使用 Java 中的 GoogleVerifier 对象来完成)。

  2. 我在 NodeJS 中为 Google SSO 使用了错误的模块吗?上面的模块是否适合使用 OAuth2 的 Google SSO?它适用于 Google OAuth2,但它支持 SSO 吗?

提前感谢您的帮助

0 投票
2 回答
731 浏览

node.js - res.redirect 在护照谷歌回调中被调用两次 - 我无法追踪原因

我在 Facebook 和 Google 身份验证中都使用了 passport.js。Facebook auth 策略运行良好,回调中的 res.redirect 仅被调用一次。但是对于谷歌身份验证我很茫然,因为它被调用了两次。我花了几个小时试图调试它并查看护照源代码,但找不到错误。

我的 Google 身份验证只是从 Gmail 中获取一些联系人。

谷歌战略

从控制台这里 - 问题是 /users/?googletoken 调用被调用了两次,即使之前的 console.log 只调用了一次。

0 投票
0 回答
1448 浏览

google-api - 嵌入式浏览器中的 Google Oauth2(网络视图)

我添加Google OAuth2到我的网站。我注意到当网站在嵌入式浏览器(网络视图)中打开时,重定向到谷歌身份验证页面(见下面的链接)将失败并出现错误:

“403 disallowed_useragent”。

链接在这里:

https://accounts.google.com/o/oauth2/v2/auth?client_id=813505898895-9vocl0haapnp562pn1hmut2sibregabn.apps.googleusercontent.com&response_type=code&scope=openid%20profile%20email&redirect_uri=http%3A%2F%2Fwww.antgora.com% 2Fauth1%2F登录%2Fgoogle&state=6515338772758876.%2F

我知道谷歌不再允许OAuth在网络视图中向谷歌发出请求。但这是奇怪的事情。在 web 视图中打开演示时,google 登录演示 developers.google.com/identity/sign-in/web/sign-in工作正常。我设法找到client_idredirect_uri在演示中使用并将它们替换为我的 google auth 链接(请参阅下面的更新链接),更新后的链接现在可以在 Web 视图中神奇地打开。

https://accounts.google.com/o/oauth2/v2/auth?client_id=831371170934-udapit5jhjj56pft5l2drc9gjhfeclf3.apps.googleusercontent.com&response_type=code&scope=openid%20profile%20email&redirect_uri=storagerelay%3A%2F%2Fhttps%2Fgoogle-developers。 appspot.com%3Fid%3Dauth58372&state=6515338772758876.%2F

请注意,我只改变了client_idredirect_url没有别的。后来我发现更多client_ids也适用于 webview。我想知道这些 client_id 是否有任何特定设置可以工作?

另外我想知道推荐的修复方法是什么:

“403 disallowed_useragent”?

我的网站没有本地应用程序。最有可能的是,人们只会在 web 视图中打开他们在在线聊天中收到的网站。我想避免显示:

“403 不允许的_useragent”

他们点击时出错*sign-in by Google*

0 投票
1 回答
1380 浏览

node.js - 使用passport-google-oauth20时自动登录

我学习了一门课程,它使用护照、passport-google-oauth20、cookie-session 实现了用户身份验证,一切正常(登录、注销、会话处理)但是当我发送登录/注册请求时它不会问/提示 google 身份验证窗口输入凭据,它始终使用相同的帐户登录。

这是护照策略配置:

0 投票
0 回答
436 浏览

authentication - Passport Google oauth2 不返回电子邮件

我正在尝试使用护照谷歌 oauth2 访问用户详细信息,它返回id, gender, displayName, nameprovider但不是email

在我指定了电子邮件的配置文件字段中,它仍然发送除电子邮件之外的所有内容。

这是我试图通过身份验证的获取请求。

0 投票
0 回答
416 浏览

javascript - callback url not being executed with google passport strategy oAuth2

I have tried nearly everything (read threads,searched on google) but i don't understand why is my callback url not being executed.After debugging, i found that the request is being sent to google servers, i get back the profile.But the callback is not being executed.The page just hangs there as soon as i navigate to http:\localhost:3000\auth\google.I am using a localhost server currently. Although the data is being persisted on mongodb which means that the route is working but not the callback.

Below are my routes and local strategy.

AuthRoutes.js

passport.js

Feel free to ask anything that i have missed. Thanks.

0 投票
1 回答
511 浏览

express - vuejs webpack + express + passport在生产模式下不起作用

我对 vuejs 完全陌生

我正在开发一个 MEVN 应用程序。我使用 vue-cli 设置了一个 vuejs 项目,该项目localhost:8080localhost:3000. 要将所有请求发送到我的快速服务器,我在 vue 的 config/index.js 中添加了代理,它运行良好。现在我在我的应用程序中添加了护照谷歌 oauth。在我添加的 server.js 文件中

以及它的回调路由

在我的 vuejs 代码中我添加了

单击使用 Google 登录时,我的应用程序在开发模式下完美运行,但在生产模式下,当我单击登录而不是进入谷歌同意屏幕进行登录时,它会进入<app-url>/auth/google空白页面

请在这件事上给予我帮助..

注意: 对于生产模式,我做了 npm run build 然后在 server.js 文件(express)中提供静态文件,并且还使用了 connect-history-api-fallback

更新: 问题connect-history-api-fallback确实存在,但删除它会导致 vuejs 路由中断,因为 mhistory mode 现在使用它们该怎么办?

0 投票
1 回答
1031 浏览

node.js - 使用社交日志用户的护照登录到同一帐户

我正在尝试使用社交媒体(FB 和 Google)以及本地策略来实现登录。我的护照本地工作正常(除了允许重复的电子邮件,但单独的问题),但我看到 Facebook 和 Google 策略的一些奇怪行为。这是一个场景:

  1. 使用 Facebook 或 Google 登录
  2. 登出
  3. 使用与初始登录相反的方式登录(即第一个 FB,第二个 Google)
  4. 该应用程序使用初始帐户而不是第二个帐户登录。

我按照此页面上的教程设置了各种策略

http://mherman.org/blog/2013/11/10/social-authentication-with-passport-dot-js/#.Wk93wN-nFPb

策略示例:

用户 MongoDB 模型

和授权路线

Facebook的策略基本相同。

我的第一个想法是User.findOne()查询不正确,但如果我将查询输入 Mongo 控制台,我会收到预期的结果。

接下来,我登录以查看req.user在身份验证过程的各个点上的值是多少。除了他们最终登录到他们最初登录的帐户之外,每一步看起来都很正常。

所以我不确定问题出在哪里......我对网络开发很陌生,所以非常感谢任何帮助/解释。

0 投票
1 回答
163 浏览

node.js - PassportJS 不返回数据

我在使用 PassportJS 时遇到问题,无论我做什么,我都无法让不同的模块返回任何内容。

例如,当我使用时,passport-google-oath20我有这样的代码

passport.authenticate路线,它只是输出

我以该google策略为例,但这不适用于我的任何策略。

我已经仔细检查了密钥是否都正确并且我拥有正确的权限,但是由于它对所有密钥都执行相同的操作,这似乎是由于特定项目造成的。