В настоящее время я могу регистрировать новых пользователей с помощью Firebase Auth и поставщика OIDC (с этого момента OP). Это означает, что пользователь видит всплывающее окно для входа в систему, и после успешного входа в систему аутентификации Firebase появляется новый пользователь.
Однако новым пользователям не хватает идентификатора (который, как я ожидаю, будет адресом электронной почты):
При использовании области email OP предоставляет утверждения email и email_verified как часть ответа на информацию о пользователе, но я предполагаю, что Firebase пытается прочитать адрес электронной почты другим способом.
Есть ли способ узнать, какие поля/области Firebase использует/ожидает прочитать, чтобы установить электронное письмо в качестве идентификатора нового пользователя с помощью OIDC? Так что:

Я связался со службой поддержки Firebase, и они пояснили, что Firebase нужны обе эти претензии:
По сути, недостаточно включить их в ответ с информацией о пользователе. OP необходимо добавить утверждения в токен идентификатора, чтобы Firebase использовала адрес электронной почты в качестве идентификатора в списке пользователей аутентификации.
Пример токена идентификатора, который будет правильно работать с Firebase:
{
iss: 'https://www.provider.com',
aud: 'audience',
iat: 12345,
exp: 123456,
sub: 'UserID0001',
name: 'Jane Doe',
given_name: 'Jane',
family_name: 'Doe',
preferred_username: 'j.doe',
picture: 'http://example.com/janedoe/me.jpg'
email: '[email protected]', // This claim is expected
email_verified: 'true' // This claim is expected
}
Конечная точка userinfo также должна возвращать те же утверждения (и, согласно поддержке Firebase, они должны совпадать с токеном идентификатора):
{
name: 'Jane Doe',
given_name: 'Jane',
family_name: 'Doe',
preferred_username: 'j.doe',
picture: 'http://example.com/janedoe/me.jpg'
email: '[email protected]', // This claim is expected
email_verified: 'true' // This claim is expected
}
Я не уверен, является ли это частью стандарта OIDC или это просто требования, которые Firebase решила реализовать самостоятельно, поэтому я добавил stackoverflow.com/questions/78696443/…