Экран разрешения доступа LinkedIn, показывающий, что пользователь уже аутентифицирован
Я использую внешний модуль Node.js, everyauth
, для обработки моей аутентификации LinkedIn API. Я пока не уверен, что это проблема с тем, как мой модуль обрабатывает их API, или какая-то другая проблема с самим API.
По сути, после того, как пользователь уже предоставил доступ, LinkedIn, тем не менее, продолжает спрашивать, продолжать ли предоставлять доступ. Я знаю, что это не стандартно, потому что я видел другой поток пользователей в других приложениях.
Вот пример того, что происходит:
Вы можете видеть, что я предоставил доступ 11 января, но это было сделано 13 января. Почему я должен повторно авторизоваться!?
У вас есть идеи, что вызывает это? Я углубился в соответствующий код модуля LinkedIn для каждого, но в этом потоке приложений ничего не попалось на глаза.
2 ответа
Измените сценарий, чтобы отправить его по https://www.linkedin.com/uas/oauth/authenticate вместо https://www.linkedin.com/uas/oauth/authorize.
Это заставит LinkedIn автоматически перенаправить их обратно на ваш сайт.
Подробнее на https://developer.linkedin.com/documents/linkedins-oauth-details
Если вы используете API-интерфейс JavaScript (который, похоже, используется каждым пользователем), то вполне вероятно, что токены OAuth, которые LinkedIn хранит в браузере, устарели. Чтобы убедиться, что пользователь является правильным, токены браузера истекают через ~30 минут.
При этом, если сессия еще свежа и authorize
значение установлено в true
, вы должны быть в состоянии обойти экран, который вы видите.