В настоящее время я смотрю на создание настраиваемого потока входа для аутентификации, используя дополнительные утверждения / пользовательские утверждения с Cloud Firestore и Cloud Functions.
Общий процесс, который я хотел бы осуществить, следующий:
- Войдите в мою собственную систему аутентификации и получите соответствующую информацию аутентификации, а также создайте собственный токен авторизации с дополнительными требованиями
- Войдите через приложение iOS с помощью пользовательского токена и
signInWithCustomToken
- Запустить облачную функцию для заполнения Firestore соответствующими коллекциями / документами
В данный момент система работает, вызывая setCustomUserClaims
между пунктами 2 и 3:
- Войдите в мою собственную систему аутентификации и получите соответствующую информацию аутентификации, а также создайте собственный токен авторизации с дополнительными утверждениями
- Войдите в систему с помощью приложения iOS, используя собственный токен, и
signInWithCustomToken
- Вызвать вызываемую функцию на
setCustomUserClaims
, чтобы установить дополнительные требования для пользователя customClaims
.
- Запустить облачную функцию для заполнения Firestore соответствующими коллекциями / документами
Было бы неплохо, однако, не вызывать это и не использовать начальные дополнительные требования из первоначального JWT.
Я понимаю, что если бы мы вызывали функцию HTTPS или вызываемую функцию из приложения, мы могли бы тогда получить подробности auth
с утверждениями внутри (как предоставлено из IDToken). Однако было бы лучше, если бы нам не нужно было звонить по номеру setCustomUserClaims
и разрешать службе получать претензии, используя getUser
и получая доступ к customClaims
.
.
- Есть ли способ получить эту же
auth
информацию из сработавшей функции?
- Будут ли какие-либо планы / каким-либо образом получать
auth
на сервере, используя getUser
?
- Есть ли способ получить
IDToken
с сервера из триггерной функции вместо функции HTTPS или Callable?
- Есть ли планы разрешить запуск для onCreate для пользователя аутентификации при использовании пользовательских токенов?