如何在 googleapi 上禁用检查重定向 url?

How to disable check redirect url on googleapi?

我在此说明中遵循此流程:https://developers.google.com/identity/sign-in/web/server-side-flow 通过 google 进行身份验证。

在后端服务器中,我使用 lib : google-auth-lib

const { OAuth2Client } = require('google-auth-library');

async function login (code) {
   const auth = new OAuth2Client(
      googleConfig.clientId,
      googleConfig.clientSecret,
      googleConfig.redirect
   );

   const data = await auth.getToken(code);
}

但目前我必须处理重定向 url 以匹配 console.google 项目中的配置。

我认为检查重定向 url 对于这种情况没有必要。

那么如何禁用检查重定向 url 或任何想法?

重定向 uri 验证检查是 Google 授权过程的一部分。你不能在网络项目上禁用它。授权服务器需要知道 return 你的授权码去哪里。如果您正在 运行 构建 Web 应用程序,那么您将始终需要定义重定向 uri。

另一方面,如果您运行正在使用服务器端应用程序或已安装的应用程序,则不应使用 Web 浏览器客户端,而应使用不使用重定向 uri 的本机客户端.

此示例 node quickstart 旨在 运行 作为控制台应用程序访问 google 驱动器 api。它可能对你有帮助。

/**
 * Create an OAuth2 client with the given credentials, and then execute the
 * given callback function.
 * @param {Object} credentials The authorization client credentials.
 * @param {function} callback The callback to call with the authorized client.
 */
function authorize(credentials, callback) {
  const {client_secret, client_id, redirect_uris} = credentials.installed;
  const oAuth2Client = new google.auth.OAuth2(
      client_id, client_secret, redirect_uris[0]);

  // Check if we have previously stored a token.
  fs.readFile(TOKEN_PATH, (err, token) => {
    if (err) return getAccessToken(oAuth2Client, callback);
    oAuth2Client.setCredentials(JSON.parse(token));
    callback(oAuth2Client);
  });
}