Пользователь открывает приложение и видит экран регистрации. Запускается процесс авторизации Facebook, и давайте предположим, что он прошел успешно и пользователь успешно зарегистрировался. В случае успеха приложение вызывает API-интерфейс Facebook Graph и получает имя, фамилию, адрес электронной почты, дату рождения и т. д. пользователя. Используя эти данные, приложение затем вызывает метод веб-службы под названием RegisterUser(string Fullname, string FirstName, string LastName.. .), который создает запись пользователя в базе данных.
Теперь для последующих вызовов API мне нужно подтвердить, что запрос действительно поступает из моего приложения (а не обязательно конкретного пользователя). Я просмотрел API REST S3, и кажется, что при каждом запросе есть HTTP-заголовок под названием Authorization, который клиент создает, добавляя кучу других HTTP-заголовков, таких как дата, метод, данные запроса, подписывая его с помощью секретный ключ клиента и вычисление его значения в кодировке Base64. Это проверяется на стороне сервера для аутентификации клиента.
Теперь мне удобно все это реализовывать, но есть несколько вопросов:
- Если у меня есть закрытый ключ, безопасно ли включать его как часть самого приложения iOS? Может ли кто-нибудь извлечь ключ из двоичного файла приложения iOS? Если да, то как мне с этим справиться?
- Есть ли еще какие-либо изменения, которые вы бы внесли в этот дизайн?
Подробнее здесь: https://stackoverflow.com/questions/697 ... s-the-only