tdt66 пишет:опять же к чему этот огород .. что помешает злоумышленнику хранить этот токен ))) в чем различие токен поймает злоумышленик или логин пароль ..
ссуть не ясна ..
ну да .. токен типа кончится через 100 дней .. так пользователь опять и опять будет заходить .. и опять и опять будет сохранятся токен ..
в любом случае дыра никуда не денется ..
или есть какойто мега тайный смысл ?
Предположим, вы пользователь и хотите воспользоваться сторонним аппом. Если вы им напрямую дадите логин-пароль, то апп получит полный доступ ко всему, что вы имеете и можете делать.
Авторизация по токену имеет следующие плюшки:
- Можно отозвать авторизацию одним кликом и только для одного аппа, а не менять пароль, а затем менять их у всех других аппов.
- При авторизации видно, какие права получит приложение и они могут быть гораздо меньше, чем полные
Вопрос кражи токенов это вопрос доверия. Вы доверяете аппу и предоставляете ему токен. Если он пересылался по https (а так же все сертификаты доверенные) и разработчики аппа заботятся о безопасности (если хранят токен у себя на серверах, а не используют только на клиенте), то никуда он не денется дальше аппа.
В случае же ввода логина-пароля напрямую, его может утащить любой скрипт на сайте (любой счётчик/баннер/etc).
tdt66 пишет:правильно я понимаю .. что если я захочу написать сервис .. мне нужен будет человек который должен ручками вводить логин и пароль ?
тоесть никакой автоматизации
Вам нужно один раз показать форму авторизации пользователю, выдать себе токен на какое-то время, запомнить его и пользоваться. Когда истечёт — выдать новый. Пользователю в любом случае когда-нибудь нужно будет заходить в вашу систему, чтобы как-нибудь с ней взаимодействовать.
Если же она подразумевает какие-то фоновые длительные процессы, которые могут не трогаться сто дней — отправьте на 95 день уведомление, что человеку хорошо бы ещё раз залогиниться. Если бы авторизация была по паролю — то была бы куда большая вероятность, что за три месяца человек сменит себе пароль и сервис совсем потеряет возможность логиниться.