من به دنبال اجرای سیستم ورود به سیستم با اپل در دستگاه تلفن همراه هستم. ما یک API باطن داریم که انتظار دارد id_token را دریافت کند (به محض اینکه از Apple دریافت کنیم). من در مورد استفاده از nonce در این جریان سؤالی داشتم.
از درک من برای جلوگیری از حمله دوباره استفاده می شود. به این معنا که ، اگر ما به یک جلسه کاربری واحد گره خورده باشیم ، می توانیم در آن جلسه کاربر مطابقت داشته باشیم و از استفاده مجدد کاربران مخرب از id_token جلوگیری کنیم. در این پیوند ، آنها توصیه می كنند كه با استفاده از هر درخواست تأیید اعتبار ، یك واكس بفرستید و هش (عدم وجود) را به اپل ارسال كنید.
سپس می گوید كه "firebase با پاسخ دادن به قسمت اصلی و مقایسه آن با مقادیری كه توسط اپل به دست آورد ، پاسخ را تأیید می كند". آیا این بدان معناست که id_token + nonce از طریق سیم به پایگاه داده Firebase ارسال می شود ، جایی که فقط nonce (که ما ارسال می کنیم) را فشرده می کند و مطمئن می شود که در id_token موجود باشد؟ اگر این مورد است ، آیا کسی نمی تواند آن درخواست را رهگیری کند و دوباره آن را پخش کند؟ یا اینکه Firebase / Database / Server قبلاً از اصل اصلی آگاهی ندارد؟