Номер 1: Правильно, просто используйте типичный трехсторонний поток oauth.
Номер 2. Двунаправленный oauth во многом аналогичен http-basic, за исключением того, что подпись oauth дает вам защиту противMITM-атаки (но если вы используете http-basic поверх TLS, вы получаете такую же защиту).Процесс для двухстороннего oauth - это просто подписание запроса с ключом / секретным ключом потребителя, который является синонимом имени пользователя / пароля через http basic.
Number 3. Я не на 100% уверен в том, чтоВы имеете в виду здесь, но это звучит похоже на то, как Google использует 2-х сторонний oauth для доменов приложений Google.Посмотрите их документацию здесь: https://developers.google.com/accounts/docs/OAuth#GoogleAppsOAuth
Вы изучали OAuth 2.0?Это все еще в черновике, но у него гораздо больше гибкости для разных сценариев.Может быть, что-то рассмотреть.http://oauth.net/2/