Несколько вопросов об OAuth и Android - PullRequest
15 голосов
/ 03 февраля 2010

Я начал читать об OAuth сегодня утром; нужны предложения (ссылки и др.), которые помогут ответить на следующие вопросы:
1. Как реализовать аутентификацию на 3-х ножках с помощью OAuth на устройствах Android? Есть ли библиотека, которая помогает в вышеупомянутом?
2. Что это означает, когда кто-то говорит: «Сайт / Сервис ABC поддерживает OAuth»?

Спасибо!

1 Ответ

30 голосов
/ 03 февраля 2010

Чтобы ответить на ваш первый вопрос, вы должны иметь возможность использовать любую библиотеку Java OAuth на Android, вот ссылка на учебник, в котором используется Java OAuth project библиотека для разработки потребительского приложения на Android :

Особо обратите внимание на регистрацию пользовательской схемы URI (то есть myapp: //) в вашем приложении. Вы будете использовать эту схему URI при отправке параметра oauth_callback, который позволит вашим пользователям легко проходить 3-сторонний рабочий процесс (в основном вы получите токен запроса от SP, направьте своего пользователя к SP через браузер для авторизации токен, тогда SP будет перенаправлять пользователя обратно в ваше приложение, используя пользовательскую схему URI).

Теперь о вашем втором вопросе: когда кто-то говорит, что сайт или служба поддерживает OAuth, это обычно означает, что они внедрили OAuth в качестве поставщика услуг. Это означает, что вы можете разработать потребительское приложение, которое использует OAuth для выполнения делегированной авторизации для защищенных ресурсов, размещенных службой. Будьте внимательны, отметьте, какую версию спецификации OAuth поддерживает сервис / сайт. Большинство должно быть на 1.0a, но некоторые все еще могут быть на 1.0, который имеет немного другой рабочий процесс. Вы можете спокойно игнорировать различия и просто прочитать спецификацию 1.0a, если это то, что они поддерживают, в противном случае вы захотите выкопать спецификацию 1.0 (ссылки приведены ниже).

Дайте мне знать, если это поможет, или есть что-то конкретное, что вы хотели бы, чтобы я уточнил! Удачи в вашем приложении!

Обратите внимание, что 1.0 имеет некоторые проблемы безопасности, которые были устранены в 1.0a. Также обратите внимание, что 1.0a была переписана как черновик IETF. Используемая терминология немного отличается в проекте IETF, и некоторые требования были отброшены при использовании безопасного транспортного уровня (например, SSL) и метода подписи в виде открытого текста. Большинство SP все еще будут придерживаться 1.0a. В противном случае черновик IETF гораздо лучше написан и его стоит прочитать, если вы не возражаете против различий в терминологии:

...