Ответ 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 будет гораздо более хорошо написан и заслуживает внимания, если вы не согласитесь с терминологическими отличиями: