Firebase CLI аутентификация через токен
Я выполнил шаги, описанные в официальном руководстве по GitHub, для использования Firebase CLI (командной строки) с системой CI (простая ОС без интеграции с браузером). Я использую свой компьютер для входа в firebase и получения токена (из процедуры браузера). Я скопировал токен в другой системе и передал токен во всех командах, но он не работает. Я получаю сообщение, что мне нужно пройти проверку подлинности для выполнения этих операций:
firebase login
firebase prefs:token
скопируйте и используйте токен в другой системе
firebase list --token sdfgfdsg......
В чем проблема?
3 ответа
Используя машину с установленным браузером и средствами Firebase, запустите firebase login:ci --no-localhost
и вставьте полученный ключ из CLI-инструмента firebase в переменную среды и назовите его FIREBASE_TOKEN
(не $FIREBASE_TOKEN
).
В вашем развертывании, скажем,
npm install -g firebase-tools
firebase deploy
Убедитесь, что не запустить firebase logout
на вашем компьютере, так как это сделает недействительным токен (сейчас мы работаем над тем, чтобы сделать это более понятным).
Если нет, убедитесь, что вы цитируете токен:
firebase list --token '-K.....|.....'
Символы, включенные в токен аутентификации, могут вызвать ошибки оболочки, которые мешают правильному завершению команды, если она не заключена в кавычки.
Я столкнулся с той же проблемой с Travis, и проблема заключалась в шифровании токена, используемого travis, вы должны убедиться, что вы правильно экранировали символ канала внутри токена. в моем случае что-то вроде travis шифрует 'FIREBASE_TOKEN=-jksdjksjksdj\|ksdkjsjk'
Надеюсь, это поможет, потому что я могу убедиться, что если вы делаете:
firebase deploy --token '-jksdjksjksdj | ksdkjsjk'
в Трэвисе это просто работает. firebase по какой-то причине не распознает токен в вашем случае, вам нужно найти эту причину
Проверьте это: http://docs.travis-ci.com/user/encryption-keys/