2013-12-18 1 views
2

Я делаю приложение для Android, которое будет извлекать данные из моего API.Как проверить подлинность запросов для приложения android

Первое, что мое приложение будет делать, это разрешить пользователям подписываться с использованием своих учетных данных.

  • Мой вопрос в том, должен ли мой API обрабатывать сеансы? или я должен аутентифицировать пользователя для каждого запроса?
  • Будет ли собственное приложение для Android хранить учетные данные пользователя на устройстве и отправлять их для каждого запроса после входа в систему?
  • Я использую Retrofit. Как я могу отправить учетные данные пользователя после того, как они вошли в систему?

ответ

-1

Это будет подходящее время для глубокого погружения и чтения в OAuth. Ваш случай использования, кажется, идеально подходит. Вам потребуются 2 основных этапа: Аутентификация и авторизация. Я кратко объяснил их здесь: Authentication of a resource in Dropwizard. Вы можете игнорировать часть DropWizard, концепция REST остается прежней. Краткая версия описания может быть такой: пользователь устанавливает ваше приложение на телефоне. Они аутентифицируют ONCE, используя свое имя пользователя и пароль (запрос POST для вашего REST через SSL). Ваша служба проверяет подлинность пользователя и возвращает его с помощью «refresh_token» и «access_token», которые приложение сохраняет на своей стороне, когда вы сопоставляете и сохраняете access_token/refresh_token со стороны службы с пользователем. С каждым последующим запросом ваше приложение отправляет «access_token» в качестве части заголовка «Аутентификация», который вы на сервере, проанализируете и проверяете, доступен ли access_token (при условии, что access_token истекает), и если он жив , затем завершите процесс авторизации/аутентификации. Если по какой-либо причине токен доступа истек, 401 будет возвращен обратно в ваше приложение. Затем приложение должно будет использовать «refresh_token», чтобы получить новый access_token и после его одобрения с помощью нового access_token (который, опять-таки, отображается на стороне сервера на личность пользователя), все последующие вызовы будут использовать новый access_token, пока оно не будет истекает. Это упрощенная версия OAuth и не соответствует спецификациям письма. Это очень простой процесс аутентификации/авторизации, чтобы вы начали. Надеюсь, это поможет!