Использование пользовательских токенов для выполнения запросов REST к базе данных FB в качестве администратора
Я перехожу на новую базу данных и клиентские библиотеки 3.0. Я обновляю часть, которая генерирует собственный токен авторизации (на нашем сервере), чтобы сделатьPATCH
обновить ресурс в БД Firebase.
Эти запросы PATCH раньше выполнялись нашим сервером для Firebase с использованиемadmin
претензии основаны на этом:https://www.firebase.com/docs/rest/guide/user-auth.htm
Для новой БД я генерирую токен JWT (используяruby-jwt
) как это:
pa,yload = {
aud: "https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",
claims: custom_claims.merge({ admin: true }),
exp: now_seconds + (60 * 60), # Maximum expiration time is one hour
iat: now_seconds,
iss: service_account_email,
sub: service_account_email,
uid: uid
}
JWT.encode(payload, private_key, "RS256")
A PATCH
запрос с этим токеном к базе данных Firebase завершается неудачно с:Missing claim 'kid' in auth header
.