• Как сделать безопасную авторизацию юзера в мобильном приложении?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Пользователь вам отправляет свой логин/пароль.
    Вы по нему генерируете случайный токен, кладете его в базу, отправляете пользователю.
    Для полного счастья хорошо всю работу с api вести через https, в этом случае без серьезной подготовки никто этот токен не украдет.
    Мне кажется что в 99% случаев этого вполне достаточно.

    Альтернативное решение - не использовать токен, а использовать в каждом запросе хеш, генерящийся на основе данных запроса и пароля пользователя (при этом сам пароль не передается)
    условно что то вроде
    $hash = md5($password . "method=users&rand=23084723984623947&limit=10");
    $url = 'http://api.site.ru/users?rand=23084723984623947&limit=10&'.$hash;

    Даже если запрос будет скропрометирован - максимум что получится сделать это его повторить.
    С учетом того что при определенных методиках генерации rand можно сказать что rand должен быть уникальным для пользователя к примеру за месяц - получаем достаточно надежную историю.
    И да, это велосипед, как это называется правильно к сожалению не знаю, думаю другие подскажут :)
    Ответ написан
    Комментировать