OAuth для настольных приложений? - PullRequest
25 голосов
/ 19 сентября 2010

Интересно, как приложения для настольных компьютеров без доменных имен используют oauth? или это не должно использоваться таким образом? если так, что я использую? скажем, для Tumblr у них есть аутентификация API , поэтому мне придется ввести имя пользователя и пароль в строку URL / запроса?

Я думаю об использовании WPF / Adobe AIR. как работает что-то вроде tweetdeck?

Ответы [ 5 ]

11 голосов
/ 12 февраля 2011

Я был озадачен тем же вопросом об отсутствии домена или URL-адреса приложения, но оказывается, что перенаправление - не единственный возможный способ завершить процесс аутентификации OAuth.

Т.е. когда веб-приложение запрашивает доступ к немупредоставляет URL-адрес обратного вызова: один пользователь будет перенаправлен после завершения процесса.Вот как веб-приложение знает, что все сделано.

Но вы не можете перенаправить приложение на компьютер пользователя.Таким образом, есть и другой способ: при успешной аутентификации сервер предоставляет специальный код пользователю.Затем пользователь копирует этот код и передает его приложению.

Вы можете увидеть оба способа, описанные в черновик спецификации .
Также приведен пример этой аутентификациипоток с твиттером.

2 голосов
/ 10 июня 2011

Похоже, что это возможно, см. Документацию по Google по теме:

https://developers.google.com/accounts/docs/OAuth2

2 голосов
/ 19 сентября 2010

Вы должны начать с чтения о том, как начать работу с OAuth . В конце концов, даже настольное приложение откроет окно браузера для аутентификации пользователя - как вы, наверное, заметили, TweetDeck и другие клиенты Twitter делают это.

В вашем примере Tumblr использует не OAuth, а обычную аутентификацию, которая выполняется с помощью простых веб-запросов HTTP.

1 голос
/ 21 сентября 2010

Twitter не хочет, чтобы пользователи вводили свои учетные данные в ваше приложение.Поэтому в какой-то момент настольному приложению потребуется открыть окно браузера, через которое Twitter может аутентифицировать своих пользователей и вернуть маркер доступа, представляющий пользователя.С этого момента настольное приложение может использовать токен доступа для представления пользователя во всех последующих вызовах API в Twitter.

0 голосов
/ 08 декабря 2016

В среде рабочего стола у вас есть другой способ получить токен, сам открытый URL-адрес браузера.

сервер OAuth2 перенаправит браузер пользователей на URL-адрес перенаправления с токеном какпараметр запроса, поэтому, если вы контролируете используемый браузер, вы можете прочитать токен непосредственно из URL-адреса, на который был перенаправлен пользователь.

Графические библиотеки, такие как GKT +, имеют встроенные параметры для создания мини-браузеров, которые пользователь можетиспользуйте для аутентификации, и он автоматически вернет токен приложению, но возможны и другие варианты, например, чтение URL Firefox.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...