2015-06-09 2 views
4

Я пишу мобильный клиент для интернет-магазина. Я написал API REST для доступа к данным на сервере. Теперь мне нужно аутентифицировать пользователя.
Я много читал об этом и пришел к простому решению.
Во-первых, когда пользователь впервые запускает приложение, он должен ввести точно пароль и логин из учетной записи интернет-магазина. В этом случае пароль каким-то образом отправляется на сервер и проверяется, после этого пользователь получает ответ.
Если все в порядке, пользователь получает доступ toke, который может использоваться в будущем для доступа к личным данным. Если нет, получите простое запрещающее сообщение.Первое аутентификация, чтобы получить токен

У меня есть некоторые вопросы здесь:

  1. Что лучший способ для отправки пароля и входа в систему в первый раз, чтобы получить маркер доступа. Шифруйте пароль с помощью некоторого алгоритма, а затем отправляйте его по простому HTTP или установите сеанс HTTPS и просто используйте этот канал для передачи данных по сети. В этом случае пароль не нужно зашифровывать, использовать общедоступные/частные ключи, предоставляемые HTTPS?

  2. Можно ли отправить этот запрос как метод POST через HTTPS, например, используя следующий URL/api/v0/store/auth? Или лучше сделать это по-другому.

  3. Во всех случаях, где используется HTTPS, мне нужен самозаверяющий сертификат?

Я был бы признателен за любую помощь. Заранее спасибо.

ответ

1

1 - неверно, что пароли не должны быть зашифрованы на HTTPS. Лучшим подходом был бы ваш сервер, шифровавший только простой пароль, а затем попытаться аутентифицировать пользователя, генерируя токен. Этот токен должен длиться только во время этого соединения.

2 - yes, post метод подходит для аутентификации.

3 - вы можете использовать самоподписанные сертификаты, но если вы сделаете это, клиент, вероятно, выступит с предупреждением, потому что он не узнает ваш сертификат. Правильным способом должно быть получение сертификата SSL от уполномоченного поставщика, такого как VeriSign и других.

Смежные вопросы