Некоторые вопросы об OAuth и Android

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

Спасибо!

Ответы

Ответ 1

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

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