基于OAuth的G +身份验证是否存在任何API速率限制。
方案
考虑1000多人在同一时间点击我的代码来验证他们的G +帐户。
我正在使用 googleapis nodejs模块进行身份验证
var google = require('googleapis');
var OAuth2 = google.auth.OAuth2;
var plus = google.plus('v1');
var oauth2Client = new OAuth2(appId, appSecret, callbackURL);
var scopes = [
'https://www.googleapis.com/auth/plus.me',
'https://www.googleapis.com/auth/userinfo.email'
];
var url = oauth2Client.generateAuthUrl({
access_type: 'offline', // 'online' (default) or 'offline' (gets refresh_token)
scope: scopes // If you only need one scope you can pass it as string
});
oauth2Client.getToken(googleCode, function(err, tokens) {
if(!err) {
oauth2Client.setCredentials(tokens);
logger.debug(":: G+ access token ::" + JSON.stringify(tokens));
var accessTokenJsonObj = JSON.stringify(tokens);
oauth2Client.setCredentials({
access_token: tokens.access_token,
refresh_token: tokens.refresh_token
});
plus.people.get({ userId: 'me', auth: oauth2Client }, function(err, response) {
// handle err and response
if(!err) {
}
}
}
通过查看谷歌文档,我得到了以下细节。
每用户限制:5个请求/秒/用户
基于OAuth的身份验证每天是否有任何API速率限制适用于多个用户
由于
答案 0 :(得分:3)
身份验证本身没有限制(据我所知),对Google+ API的调用有限。
plus.people.get
来电使用您的登录配额,默认情况下每天允许20,000,000个请求,所有用户都有,所以如果您没有对Google+ API进行任何其他调用,则可以处理20,000,000个签名 - 每天ins。
您可以通过选择项目>来检查Google Developers Console中的配额。 API& Auth> API>已启用的API> Google+ API>配额。
如有必要,您还可以从该页面请求更多配额。
答案 1 :(得分:0)
此外,如果您正在使用交换refresh_tokens,则授权代码响应包括对user_id进行编码的id_token。
因此,您可以避免在每次登录时调用people.get API - 尽管您可能希望这样做以保持用户的个人资料更新。
有关详细信息,请参阅https://developers.google.com/identity/protocols/OpenIDConnect?hl=EN#obtainuserinfo