2015-02-04 2 views
3

Выдвижные учебники хром разработчик использовать устаревший OAuth 1, который будет прекращено в апреле 2015 года: https://developer.chrome.com/extensions/tut_oauthChrome Extension пример OAuth 2.0

Есть ли учебник реализации OAuth 2.0 внутри расширения хром?

+5

Навалом, серьезно интернет больше, чем первые результаты Google. Знающие люди могут указывать на золотые результаты, которые в противном случае не были найдены в запросе. – cDima

+1

Я рад, что вы задали этот вопрос, поддержали. Кроме того, это одно глубокое предложение: D - «Навалом, серьезно, интернет больше, чем первые результаты Google». –

+1

@cDima При поиске информации о выполнении вызовов oauth2 с расширением я вернулся на эту страницу (из результата google). Я полностью забыл, что сказал, что я сказал, и 1. Я чувствую себя полным идиотом, и 2. должен извиниться. Я не хочу оправдываться, поэтому я просто скажу, что вы не заслужили моего комментария, и я очень сожалею об этом. –

ответ

4

Правильный ответ заключался в использовании Google Identity api, который под крышками использует оконечные точки oAuth 2.0 до https://.chromiumapp.org/* urls.

+2

Этот метод требует, чтобы пользователь входил в Chrome – AshClarke

+2

Я проголосовал за вопрос, но проголосовал за ответ: [ссылка] (https://developer.chrome.com/extensions/ tut_oauth), который вы использовали в своем ответе, это учебник _actual_ .. с примерами кода и всеми .. ваш ответ просто указал на какой-то вызов api .. с очень разреженной документацией. Ваш собственный вопрос: _ Есть ли у вас учебник по внедрению oAuth 2.0 внутри расширения chrome? _ Этот ответ не предлагал один – abbood

8

Я написал пример integrate any OAuth2 system into a Chrome extension. Мое расширение использует AngularJS как фреймворк, но вы можете сделать это в обычном старом JavaScript или какой-либо другой структуре, если вы так решите, следуя тем же шаблонам.

Хитрость заключается в использовании метода chrome.identity.launchWebAuthFlow().

Мой пример фактически настроен на использование Google, но это просто потому, что это удобно. Вы можете использовать своего собственного провайдера OAuth2, как и в моей компании. Важными отличиями являются то, что launchWebAuthFlow() не требует, чтобы браузер регистрировался в Google способом chrome.identity.getAuthToken(), и вы можете использовать его с системами, отличными от Google OAuth2.

1

Я лично считаю, что Chrome Identity API трудно использовать. Возможно, это потому, что документация плохо написана или потому, что Google просто прописывает аутентификацию против своих собственных услуг.

Я нашел старую библиотеку, которая делает большую часть танца OAuth и необходимые инъекции довольно хорошо. Я сделал некоторые очистки и расширил API. Вы можете найти его здесь: https://github.com/whoisjuan/ChromeAuth2