2015-01-22 4 views
7

ЦельAccess LinkedIn REST API без переднего конца (например OAuth2 перенаправлять)

Fetch обновляет компании сохранять их локально в фоновом

Проблема

Это должно быть сделано, как бэкэнд-сервис без реального взаимодействия с пользователем. Мы могли бы предоставить учетную запись пользователя для использования, но проверка подлинности является проблемой: буквально никто не отвечает на перенаправление OAuth, и нет никакого URL-адреса перенаправления для настройки, поскольку это фоновая служба.

Есть ли способ получить доступ к API без URL-адреса переадресации или реального пользователя?

ответ

3

Вы можете получить начальный токен доступа в регулярном потоке переднего конца, для вас, как разработчика приложения, я являюсь пользователем LinkedIn. После этого вы можете сохранить его в бэкэнд и использовать его в течение 60 дней, чтобы получить доступ к API LinkedIn.

Через 60 дней вам необходимо обновить маркер, как описано в: https://developer.linkedin.com/documents/handling-errors-invalid-tokens

К сожалению, LinkedIn не (пока) поддерживает автономный поток обновления, где ваше приложение может получить новый маркер доступа, представляя обновления маркера на задний канал. Таким образом, разработчику придется обновлять токен доступа с помощью логина вручную каждые 2 месяца.

+0

О, отлично, возможно, поэтому у меня есть ключ API и секретный токен пользователя OAuth и секрет после регистрации моего приложения? –

+0

После первого этапа аутентификации вы готовы уйти в подполье. По крайней мере, пока вам не понадобится повторная аутентификация (я не знаю, нуждается ли LinkedIn, какой-то другой провайдер, который я использую для повторной аутентификации через год, токены могут быть обновлены до тех пор). –

+0

Спасибо, я попробую это и приму свой ответ! –

1

Ну, это все еще все HTTP и HTML, поэтому на самом деле нет никакой реальной причины показывать диалог OAuth пользователю, так как вы можете вырезать необходимые части в диалоговом окне проверки подлинности HTML и отправить действительный ответ назад к серверу, используя имя пользователя и пароль от пользователя (который вы можете получить от него, или сохранить его самостоятельно в файле конфигурации, если это вы).

Обратите внимание, что может возникнуть юридическая проблема, если LinkedIn требует, чтобы вы фактически показывали диалог, кроме того, нет технической необходимости.

+0

Почему downvote? Хотя это не кажется «правильным», это справедливо из концепции дома, где вы автоматизируете свой маркетинг, например, на странице LinkedIn. –

+1

1. он нарушает цель OAuth, когда учетные данные пользователя не должны подвергаться воздействию клиента/приложения 2. Если LinkedIn хотел, чтобы вы сделали это, они предложили бы поток учетных данных пароля владельца ресурса; 3. он не позволяет перейти на другую и многофакторную аутентификацию 4. он хрупкий, поскольку он зависит от Linkedin, не меняющего их входной поток 5. и т. Д. –

+0

@HansZ .: Что нет приложения или клиента? OP четко указывает, что он работает в фоновом задании, возможно, нет интерфейса. Может быть, есть только база данных или другой источник, чтобы написать ... –

Смежные вопросы