2016-06-23 2 views
0

Я создаю приложение для Android, которое будет использовать бэкэнд Django, а также Django Rest Framework. Я читал документацию OAuth2, но я все еще пытаюсь понять несколько ключевых моментов своей аутентификации.Использование аутентификации Django OAuth2.0 с использованием Android Volley

Это мои основные вопросы/вещи я борюсь с:

  • В OAuth2, я дал Оппертьюнити создавать «приложения». Будет ли «приложение» в этом случае быть конкретным для моего приложения для Android (и, предположительно, в будущем я создам другое для потенциального приложения для iOS?).

  • Все ли пользователи (Android) будут использовать один и тот же токен, или каждому пользователю предоставляется индивидуальный токен?

  • Я использую библиотеку Volley для Android для работы в сети. Как мне заставить приложение Android «хранить» необходимые учетные данные? Будет ли я хранить токен, идентификатор и секрет, или просто токен?

Если стоит отметить, я не планирую добавлять логины в социальных сетях (Facebook, Google и т.д.) Я просто Войти быть имя пользователя и пароль.

Прошу прощения, если эти вопросы кажутся немного элементарными, это мой первый опыт - это аутентификация любого рода.

Спасибо

ответ

3

Я буду использовать слово «приложение» означает две разные вещи:

  1. app, чтобы указать oauth2 приложение, которые вы будете создавать зарегистрировать мобильное приложение (ы)

  2. приложение, для указания мобильного приложения.

Ответ 1:

app An в основном способ регистрации client (в данном случае, ваше мобильное приложение) с resource server (в данном случае, вы Django бэкенд). Вы можете пойти в любом случае, создав два отдельных apps или один app для своих приложений для Android и iOS. Если вы не планируете предоставлять пользователям одного приложения больше привилегий или функций, я не вижу преимущества в создании двух отдельных apps.

Ответ 2:

Каждому пользователю предоставляется другой access token.

Ответ 3:

Вы должны хранить client_id и client_secret в некотором безопасном режиме на своем мобильном приложении (ы). Потому что это поможет вам получить access token для пользователя, на первом месте. Вы также сохраните access token после его получения, потому что он понадобится для создания HTTP-запросов с проверкой подлинности.

Для получения дополнительной информации о протоколе Oauth2 в целом вы можете прочитать ответ this и протокол Oauth2 RFC.

+0

Хорошо, спасибо вам большое! Еще один вопрос, который нужно прояснить, ** client_id ** и ** client_secret ** будет одинаковым для каждой установки телефона/приложения, но ** токен доступа ** будет отличаться для каждого пользователя? – ethanzh

+0

да, это то, что я написал выше, токен доступа будет отличаться для каждого пользователя –

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