من در حال تهیه API و برنامه های مختلف برای دسترسی به آن هستم ، هرکدام دارای حوزه های مختلفی از جمله یک برنامه تلفن همراه بومی هستند ، و می دانم که یک استراتژی خوب برای تأیید اعتبار برنامه بومی خودم با API شخصی من چیست؟ یا به طور خاص کاربران من)

من نمی توانم یک روش پیشنهادی برای اطمینان از اینکه واقعاً مشتری من است (در این مورد یک برنامه بومی) است که با API من صحبت می کند ، پیدا نکنم.

برای مثال ، اگر من پیاده سازی کنم جریان مجوز برای تأیید اعتبار کاربران من است.
بیایید بگوییم که من سروری دارم که به عنوان مشتری mobile.mydomain.com عمل می کند ، بنابراین برنامه تلفن همراه من فقط به mobile.mydomain.com و mobile.mydomain.com درخواست می کند. قادر است ایمن با api.mydomain.com صحبت کند ، زیرا راز شناسه مشتری / مشتری هرگز در معرض دید عموم قرار نمی گیرد.

تا کنون خوب ، api.mydomain. com مطمئن است که تماس ها از mobile.mydomain.com است اما mobile.mydomain.com مطمئن نیستم چه کسی درخواست هایی را برای آن ارسال می کند و هنوز جعل هویت من ممکن است برنامه تلفن همراه با ساختن یک برنامه دیگر که فقط شامل همان دکمه ورود به سیستم است و همان فرآیند oauth2 را انجام می دهد و سرانجام نشانه ای برای ادامه صحبت با mobile.mydomain.com دریافت می کند.

چگونه است که با استفاده از جریان گذرواژه (که توصیه نمی شود که من می دانم) و تعبیه شناسه مشتری / مشتری در این حالت تعبیه شده است؟ (client_secret در این مورد کاملاً بی فایده است)

=> اساساً از منظر API ، فقط باید بدانید که شناسه مشتری چیست.

چگونه گوگل چگونه می داند که درخواست واقعاً از جیمیل است. برنامه و نه از برنامه دیگری که دقیقاً همان کار را با همان uri تغییر مسیر داده شده انجام می دهد؟ (که به هر حال ضروری نیست زیرا به یک نام کاربری / رمزعبور نیاز دارد). من حدس می زنم که مطمئناً نمی داند

PS: من می دانم OAuth2 برای احراز هویت نیست بلکه فقط برای مجوز