Итак, у моей компании есть приложение для iPhone. Мы публикуем API на нашем сервере, и нам нужно аутентифицировать клиентское приложение (не пользователя, мы хотим знать, является ли это приложение для iPhone, за которое оно претендует).
Я бы хотел, чтобы приложение отправляло нашему серверу открытый ключ для приложения в магазине приложений Apple как часть своего первоначального запроса. Затем я хотел бы, чтобы наш сервер мог спрашивать магазин Apple, «является ли этот открытый ключ ключом для приложения, которое, как мне кажется, есть?» Если это так, то мы выдадим действующий токен для всех остальных запросов, если нет - откажем запрос.
Я понимаю, что этот подход можно подделать (в том смысле, что кто-то может просто найти открытый ключ на взломанном телефоне и притвориться приложением), но для начальных выпусков приложения нам все равно, потому что мы ХОТИМ, чтобы люди использовали приложение. Позже мы хотим указать атрибуцию запросов API от партнеров (которым разрешено отправлять запросы с использованием метода, описанного выше), но на данный момент нет необходимости подписывать или подлинно авторизовать запросы (с помощью двух- или трехстороннего oAuth).
Итак, проще говоря: o Есть ли способ для приложения iPhone запросить у iOS открытый ключ, используемый для подписи приложения? o Есть ли способ для сервера или другой программы спросить магазин Apple, «является ли этот открытый ключ ключом для приложения, которое я думаю?»
По сути, я пытаюсь использовать магазин Apple в качестве центра аутентификации. Я знаю: они уже в том, что они должны быть подписаны и одобрены Apple, но мне нужна проверка времени запроса сервера.
Спасибо заранее.