使用 Passport.js 请求 requestVisibleActions 权限,以便在 Google+ API 中插入片刻
Ask requestVisibleActions permission using Passport.js for moment insertion in Google+ API
我正在开发一个 Node.js 应用程序,它使用 Passport.js 通过 Google Plus 进行身份验证。在稍后的阶段,我们引入了当用户在我们的网站留下评论时,将使用 Google+ 的 moment.insert 的活动添加到用户的 Google+ 供稿中。使用 moment.insert
发帖需要一个名为 requestvisibleactions
的特殊权限。 passport.js 文档没有说明我如何在登录时请求此类权限。
我当前的身份验证处理程序设置是这样的:
app.get('/auth/google', redirect, passport.authenticate('google', {
scope: ['https://www.googleapis.com/auth/userinfo.profile', 'https://www.googleapis.com/auth/userinfo.email', 'https://www.googleapis.com/auth/plus.me', 'https://www.googleapis.com/auth/plus.moments.write'],
accessType: 'offline'
}));
任何关于如何在 passport.js 身份验证期间指定 this page 中提到的 requestvisibleactions
权限的指示都将受到赞赏。
问题是 passport.js 不包含对 requestvisibleactions
的支持,更新它的拉取请求已经存在了一段时间。正如我们在 Google+ insert moment with nodejs client 上讨论的,您需要做两件事:
1) 应用this patch,让passport.js能够正确设置参数。
2) 设置您希望能够在调用 passport.authenticate
时执行的操作
我没有测试过这个(因为我不使用 passport.js),但是一旦你完成了 (1),你应该能够使用这样的东西来 post 添加和回顾时刻:
app.get('/auth/google', redirect, passport.authenticate('google', {
scope: ['https://www.googleapis.com/auth/userinfo.profile', 'https://www.googleapis.com/auth/userinfo.email', 'https://www.googleapis.com/auth/plus.me', 'https://www.googleapis.com/auth/plus.moments.write'],
accessType: 'offline',
requestVisibleActions: 'http://schema.org/AddAction http://schema.org/ReviewAction'
}));
我正在开发一个 Node.js 应用程序,它使用 Passport.js 通过 Google Plus 进行身份验证。在稍后的阶段,我们引入了当用户在我们的网站留下评论时,将使用 Google+ 的 moment.insert 的活动添加到用户的 Google+ 供稿中。使用 moment.insert
发帖需要一个名为 requestvisibleactions
的特殊权限。 passport.js 文档没有说明我如何在登录时请求此类权限。
我当前的身份验证处理程序设置是这样的:
app.get('/auth/google', redirect, passport.authenticate('google', {
scope: ['https://www.googleapis.com/auth/userinfo.profile', 'https://www.googleapis.com/auth/userinfo.email', 'https://www.googleapis.com/auth/plus.me', 'https://www.googleapis.com/auth/plus.moments.write'],
accessType: 'offline'
}));
任何关于如何在 passport.js 身份验证期间指定 this page 中提到的 requestvisibleactions
权限的指示都将受到赞赏。
问题是 passport.js 不包含对 requestvisibleactions
的支持,更新它的拉取请求已经存在了一段时间。正如我们在 Google+ insert moment with nodejs client 上讨论的,您需要做两件事:
1) 应用this patch,让passport.js能够正确设置参数。
2) 设置您希望能够在调用 passport.authenticate
我没有测试过这个(因为我不使用 passport.js),但是一旦你完成了 (1),你应该能够使用这样的东西来 post 添加和回顾时刻:
app.get('/auth/google', redirect, passport.authenticate('google', {
scope: ['https://www.googleapis.com/auth/userinfo.profile', 'https://www.googleapis.com/auth/userinfo.email', 'https://www.googleapis.com/auth/plus.me', 'https://www.googleapis.com/auth/plus.moments.write'],
accessType: 'offline',
requestVisibleActions: 'http://schema.org/AddAction http://schema.org/ReviewAction'
}));