Я следую этому потоку в этой инструкции: 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. Вы не можете отключить его в веб-проектах. Сервер авторизации должен знать, куда вернуть ваш код авторизации. Если вы используете веб-приложение, вам всегда нужно будет определять uri перенаправления.
С другой стороны, если вы используете приложение на стороне сервера или установленное приложение, вам не следует использовать клиент веб-браузера, вы должны использовать собственный клиент, который не будет использовать uri перенаправления.
Этот образец быстрый запуск узла был разработан для запуска в качестве консольного приложения для доступа к API Google Диска. Это может помочь вам.
/**
* 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);
});
}
Я пробовал, но redirect_uris[0] не совпадает с redirect_url на frontEnd? Я настроил некоторые redirect_uris для некоторых сред. Пояснение: FrontEnd setup redirect_url = a.com и запросить код у Google, отправить этот код в BackEnd, BackEnd получит первые аргументы Uris по умолчанию, но они не совпадают с a.com