Я ищу возможность войти в систему с помощью стороннего поставщика удостоверений на мобильном устройстве. Наш серверный API ожидает получения id_token.
Насколько я понимаю, nonce используется для предотвращения повторных атак. Это означает, что если у нас есть одноразовый номер, привязанный к одному пользовательскому сеансу, мы можем сопоставить одноразовый номер для этого пользовательского сеанса и предотвратить повторное использование id_token злоумышленниками. Например, в этой ссылке они рекомендуют генерировать одноразовый номер и отправлять ha sh одноразового номера в Apple при каждом запросе аутентификации.
Затем говорится, что 'firebase проверяет ответ хэшируя исходный одноразовый номер и сравнивая его со значением, переданным Apple '. Означает ли это, что id_token + nonce отправляется по проводам в базу данных Firebase, где он просто хэширует одноразовый номер (который мы отправляем) и проверяет, содержится ли он в id_token? Если это так, не может ли кто-нибудь перехватить этот запрос и воспроизвести его? Или же Firebase / База данных / Сервер уже знает об оригинальном одноразовом слове перед тем, как вручить?