Я изучаю эту тему уже несколько недель, и наконец увидел свет в конце туннеля.Я надеюсь, что вы, по крайней мере, получите несколько советов из моего исследования.Во-первых, я только что понял (http://softwareas.com/oauth-openid-youre-barking-up-the-wrong-tree-if-you-think-theyre-the-same-thing), что OpenID и OAuth - это не одно и то же, хотя их можно использовать вместе. Мое приложение Google App Engine настроено с использованием API учетных записей Google, и в настоящее время у меня есть только клиент Android. I 'Я являюсь религиозным последователем супер-известного блога Ника Джонсона, о котором вы упомянули выше. Поэтому я использовал экземпляр AccountManager в клиенте Android для бесшовной аутентификации с моим приложением App Engine, не запрашивая у пользователя учетные данные и не перенаправляя в браузер / веб-просмотр.и т. д.
Так же, как вы хотите открыть публичный API для своего приложения GAE, я также хочу расширить свою клиентскую базу, чтобы иметь других клиентов, таких как веб-клиенты, API-интерфейсы Python, клиенты iOS и т. д.,и ни у одного из них нет такого удобного AccountManager. Итак, OAuth - очевидный выбор. Вот статья Ikai Lan из команды Google App Engine, демонстрирующая использование клиента Python, использующего OAuth для аутентификации в приложении GAE: http://ikaisays.com/2011/05/26/setting-up-an-oauth-provider-on-google-app-engine/
Забавно, я думал, что использовать Of Oauth на клиенте требуется настроить приложение GAE с OpenID / Федеративный вход в систему.Но это не так.Так что решение для меня и, вероятно, для вас тоже простое - на клиенте Android используйте AccountManager для блога Ника.А на других клиентах используйте Oauth и перенаправьте пользователя на страницу учетных записей Google, чтобы включить аутентификацию (см. Статью Ikai Lan, о которой я говорил в предыдущем абзаце).
Суть в том, что вы можете избежатьвход в систему через Android-клиент, но не где-либо еще.Вы должны как-то аутентифицировать пользователя хотя бы один раз.Надеемся, что вход в систему на основе браузера происходит только в первый раз, и браузер кэширует будущие запросы.
Удачи!