Если я хочу получить пользовательское приложение с помощью аутентификации на моем локальном компьютере, я могу просто передать uid
в качестве параметра следующему:
return admin.auth().getUser(tokenId)
Однако, если я развернут, сгенерированный токен лучше использовать для аутентификации (и это также будет совместимо с CORS ).Для аутентификации в бэкэнде я бы сделал следующее:
const decodedToken = await admin.auth().verifyIdToken(tokenId);
return admin.auth().getUser(decodedToken.uid);
Существует ли чистый способ переключения между этими двумя методами в зависимости от того, нахожусь ли я в среде разработки / CI против производственной среды?Я думал, настроив Конфигурация среды примерно так:
const getUserApp = async (tokenId) => {
if (functions.config().production) {
const decodedToken = await admin.auth().verifyIdToken(tokenId);
return admin.auth().getUser(decodedToken.uid);
}
return admin.auth().getUser(tokenId);
};
Однако я не уверен, что это лучший путь.