Запросите firestore на сервере с информацией об аутентификации в приложении nuxt - PullRequest
0 голосов
/ 30 декабря 2018

Я планирую запросить некоторые данные из Firestore в методе fetch(), который предоставляет Nuxt, и затем отправить их в хранилище.Проблема заключается в том, что для запроса требуется информация об аутентификации Firebase (более точные правила Firestore), и afaik будет ли Firebase Auth еще не подключен или не загрузит активного пользователя, поскольку это происходит на стороне клиента.Так что это будет означать, что запрос не будет иметь информацию об аутентификации?Как бы я решил это?Я осмотрелся и обнаружил, что вы можете использовать куки для хранения идентификатора аутентификации Firebase, а затем в nuxtServerInit() в магазине, загрузить пользователя и получить правильный uid и т. Д., Но Firebase все равно не будет знать о пользователе, и яне нашел способ загрузить пользователя в Firebase Auth на стороне сервера, используя идентификатор из cookie.

Любая помощь будет очень признательна!(Я выпустил, это было довольно грязно, но, надеюсь, вы, ребята, поняли главное)

Ничего не стоит, что я использую Google в качестве поставщика входа.

ОБНОВЛЕНИЕ:

Я немного покопался и обнаружил, что вы можете получить idToken и accessToken из AuthCredential, которые вы получите после успешного входа. Я думаю, что вы можете сохранить их вместо этого в cookie изатем войдите в систему на сервере, используя signInWithCredential(), и передайте новый GoogleAuthProvider, который можно создать с помощью GoogleAuthProvider.credential(idToken, accessToken), используя токены из файла cookie.

Опять же, я не уверен, что это безопасно или правильно, но я думаю, что это должно сработать хотя бы потому, что теперь Firebase теперь говорит о пользователе, уже находящемся на стороне сервера, и, следовательно, должен вызыватьУ Firestore нет проблем с информацией об аутентификации.

Я не могу проверить это прямо сейчас, но некоторые мысли по этому поводу были бы великолепны, спасибо!

Все еще не в состоянии проверить это, но хотел бы, чтобы кто-то подумал об этом.

...