Tag: google authentication

如何在google auth请求中对返回的uri进行编码?

我正在尝试使用google auth API来实现一个小应用程序,但是我基本上被困在了第一步。 我所有的代码如下: var google = require("googleapis"); var OAuth2 = google.auth.OAuth2; const encodedUrl = encodeURIComponent("http://localhost:3000/oauthcallback"); var oauth2Client = new OAuth2( "YOU CAN'T SEE THIS", "THIS IS ALSO SECRET", encodedUrl ); const getLoginUrl = () => { const url = oauth2Client.generateAuthUrl({ // 'online' (default) or 'offline' (gets refresh_token) access_type: "offline", // If you only need […]

Firebase – NodeJS:用于Google API的OAuth2域范围委派

目标: 此Firebase云端function应使用Cloud API与域范围委派,以便任何用户在Firebase数据库更改时更新一些 G Suitepipe理控制台用户信息。 题: 我应该使用哪个包的方法来获得应用程序的广泛代理权。 firebase : firebase.auth.GoogleAuthProvider() googleapis : google.auth.OAuth2 google-auth-library : new GoogleAuth() 细节: 关于Google Identity Platform ,我并没有把这个问题连接起来,而我却陷入了这一步 。 firebase托pipe的nodejs应用如何将Google API请求的Web和访问令牌放在一起? Firebase项目使用Google云端平台项目 我有… 通过GCP-Console中的API /凭证添加到项目中的service account actor 选中启用G Suite域范围委派框 存储private_key.JSON。 授权API客户端(位于G Suitepipe理控制台中)和服务帐户客户端ID 我应该使用… Firebase :可能会查看Google OAuth2设置的白名单区域 ,和/或使用我从firebase获得的services.json 。 Google API通过googleapis :尽pipe我使用firebase.auth.GoogleAuthProvider()来validation用户,也许可以使用google.auth.OAuth2从GCP获取域范围的委派(如应用程序或计算引擎) Google Auth通过google-auth-library :同样,即使我使用firebase.auth.GoogleAuthProvider()来validation用户,也许使用new GoogleAuth()从GCP获取域范围的委托(如应用程序或计算引擎) 更新 我学过: Google的npm包googleapis不适用于客户端(浏览器)。 我现在正尝试在Firebase云端函数中使用它

在没有OAuth2redirect/复制和粘贴的情况下访问私有Google云端硬盘数据

我正在开发一个开源的Node模块,需要访问每个用户的私有Google云端硬盘文件。 我一直试图围绕所有这些不同的身份validationtypes,并走到了路障。 从我收集的信息来看,有两种主要的身份validationtypes 作为图书馆作者,我在图书馆中提供了使用OAuth2validation每个用户所需的公钥和私钥。 这意味着给他们一个URL去让我的应用程序访问他们的数据的权限,并让他们复制并粘贴访问码回到他们的terminal。 我能够通过这个教程,并得到它的工作,但这种方法似乎是危险的,因为我必须与我的图书馆打包的密钥,并不必要的困难。 让用户访问Google API控制台,获取他们自己的API密钥,并通过某种configuration文件将其提供给我的库。 没有URLredirect,没有复制和粘贴,只有他们有权访问的一些私人凭据。 2对我来说听起来好多了:这个图书馆一旦拿到用户手里就完全没有用,所以感觉不正确。 但是从我所能find的方面来说,使用Google的API来做到这一点的唯一方法是创build一个Google服务帐户,下载他们提供给您的JSON,通过类似于这篇博文顶部评论的stream程,然后手动给服务帐户电子邮件访问我的个人Google云端硬盘文件。 这看起来很诡异,而且还有很多工作要获得我自己的私人数据。 有没有更好的方法去做这件事? 我觉得这很奇怪,在其他API中这种相当标准的stream程只能通过服务帐户在Google的API中使用,但也许有一种方法,我只是没有看到它。 我是相当新的身份validation,所以任何帮助都是赞赏。 谢谢!

从aws cli或nodeJS创build认知池id有错误,参数有什么问题?

我创build了nodeJS脚本来使用“CreateIdentityPool”类来设置我的AWS Cognito Pool ID : var cognitoidentity = new AWS.CognitoIdentity(); var params = { "IdentityPoolName": "samplePool", "AllowUnauthenticatedIdentities": true, "CognitoIdentityProviders": [ { "ClientId": "xxxxxxxxxxx-qea4ebra0gipd0krefi37v8f48svrp8e.apps.googleusercontent.com", /* google client ID */ "ProviderName": "accounts.google.com" } ], "DeveloperProviderName": "mypool" }; cognitoidentity.createIdentityPool(params, function(err, data) { if (err) console.log(err, err.stack); // an error occurred else console.log(data); // successful response }); 但是下面有错误: {[ValidationException:1检测到validation错误:'cognitoIdentityProviders.1.member.clientId'处的值'xxxxxxxxxxx-qea4ebra0gipd0krefi37v8f48svrp8e.apps.googleusercontent.com'未能满足约束:成员必须满足正则expression式模式:[\ […]

googleapis TypeError:authClient.request不是nodejs中的函数

我正在使用谷歌日历googleapis和谷歌身份validation 。 我有抓取calendar event列表,但当我尝试插入事件,然后它会抛出一个错误,即TypeError: authClient.request is not a function in nodejs. 这是我的代码片段: – //route.js … app.get('/auth/google', passport.authenticate('google', { scope: ['profile', 'email', 'https://www.googleapis.com/auth/calendar'] })); … //server/passport.js … var google = require('googleapis'); var googleAuth = require('google-auth-library'); … passport.use(new GoogleStrategy({ clientID: configAuth.googleAuth.clientID, clientSecret: configAuth.googleAuth.clientSecret, callbackURL: configAuth.googleAuth.callbackURL, passReqToCallback: true }, function(req, token, refreshToken, profile, done) { … var clientSecret […]

Node.JSvalidationGoogle身份validation令牌

我正在尝试使用Express.JS框架构build一个Node.JS REST服务器,该框架集成了用于移动应用程序的Google身份validation。 使用的Node.JS版本是0.12.7。 validation从应用程序接收到的Google令牌时出现问题,因为看起来我尝试加载的模块返回错误。 用于validation此令牌的模块是passport-google-token [1]。 用于初始化此模块并检查令牌的代码如下所示: index.js文件 'use strict'; import express from 'express'; import passport from 'passport'; import {setTokenCookie} from '../../auth.service'; var router = express.Router(); router .post('/callback', passport.authenticate('google-token'), setTokenCookie); export default router; passport.js文件 import passport from 'passport'; import GoogleTokenStrategy from 'passport-google-token'; export function setup(User, config) { passport.use(new GoogleTokenStrategy({ clientID: config.google.clientID, clientSecret: config.google.clientSecret }, function(accessToken, […]

社交authentication – 在FE或BE方面做得更好?

如果我们想要进行社交authentication(例如Facebook或Google ),那么哪一方最好将其整合。 后端侧还是前端侧? 对于后端我们有NodeJS ,我们可以使用PassportJS来做到这一点,对于前端我们有Angular2.0 ,也有插件可以做到这一点。 我有点困惑这个代码应该驻留在哪一边。 如果有人对此有任何看法,请让我知道。

Nodemailer使用原始用户帐户而不是别名发送电子邮件

我有一个nodemailer的问题,其中用户收到我的谷歌帐户发送的电子邮件,用于validationgmail而不是邮件选项中使用的别名。 以下是我的代码: var smtpTransport = nodemailer.createTransport({ service: config.mailer.options.service, auth: { user: "xxxx@gmail.com", pass: "password" } }); var mailOptions = { to: user.email, from: 'Test Email <aaa@aaa.com>', subject: subject, html: emailHTML }; smtpTransport.sendMail(mailOptions); 现在当用户收到一封电子邮件时,电子邮件提到了这一点 来自:testing电子邮件xxxx@gmail.com 而不是显示 来自:testing电子邮件aaa@aaa.com 请任何帮助

无法find模块googleapis

这是我的代码: var http = require('http'); var express = require('express'); var Session = require('express-session'); var google = require('googleapis'); var plus = google.plus('v1'); var OAuth2 = google.auth.OAuth2; 这是一个错误: Error: Cannot find module 'googleapis' at Function.Module._resolveFilename (module.js:485:15) at Function.Module._load (module.js:437:25) at Module.require (module.js:513:17) at require (internal/module.js:11:18) at Object.<anonymous> (/home/software/Harsh Patel/test/demo_auth/server.js:4:14) at Module._compile (module.js:569:30) at Object.Module._extensions..js (module.js:580:10) at Module.load […]

节点webkit和Google OAuth

刚开始使用node webkit,我只是通过一个iframe加载一个网站来开始…(我知道,肮脏,但用双手和一点时间完成工作)。 <iframe src="http://somewebsite.com"></iframe> 问题是,我有Googlelogin的网站,这会在网站上popup。 出于某种原因,它不在node-webkit中,我找不到任何关于启用popup窗口的文档… 我用于Googlelogin的代码是他们在网站上提供的默认代码: https : //developers.google.com/accounts/docs/OAuth2Login 我目前没有在node-webkitconfiguration中设置任何令人兴奋的东西: "window": { "toolbar": true, "width": 1024, "height": 768, "min_width": 300, "min_height": 300, "position": "center", "resizable": true, "show_in_taskbar": true, "icon": "www/resources/img/icon.png" }, 所以我的问题是,如何从iframe启用node-webkit上的popup窗口来获取Google OAuth的工作? 在此先感谢您的帮助。