firebase-администратор выбирает язык ссылки для сброса пароля, т. е. испанский

# #javascript #firebase #firebase-admin

Вопрос:

Я видел , как установить язык сброса пароля в браузере ( firebase/auth ) с useDeviceLanguage() помощью, однако я не видел, как создать ссылку для сброса пароля с помощью firebase-admin

Код firebase-admin для сброса пароля приведен ниже, но как вы можете изменить язык, скажем, на испанский? Шаблоны уже существуют в firebase.

 const getPasswordResetLink = async email => {
  // HOW TO CHANGE LANGUAGE? 
  return admin.auth().generatePasswordResetLink(email)
}
 

Ответ №1:

Решение: Ссылка создает lang свойство в строке запроса, вы можете вручную изменить его после того, как получите ссылку, чтобы сказать lang=es .

 const getPasswordResetLink = async (email, languageSymbol) => {
  const link = await admin.auth().generatePasswordResetLink(email)
  const url = new URL(link)
  if (languageSymbol) {
    url.searchParams.set('lang', languageSymbol)
  }

  return url.toString()
}
 

Что касается второго аргумента generatePasswordResetLink() , то, похоже, нет никаких полезных опций для этого набора из firebase, вам нужно выполнить решение выше. Вот варианты второго аргумента для справки https://github.com/firebase/firebase-admin-node/blob/bf4bacb18dc2e500a54ae7aa93b2db334c6ad4db/src/auth/index.ts#L947