Автоматическое перенаправление аутентификации в LinkedIn с кодом = ноль после удаления или отзыва AccessToken - PullRequest
0 голосов
/ 18 апреля 2020

Я использую API-интерфейс LinkedIn oauth 2.0, и все прошло успешно для настройки и получения токена доступа, но затем я отозвал AccessToken после входа в LinkedIn и также удалил AccessToken, сохраненный в моей БД.

Идея состоит в том, чтобы дать возможность повторно авторизовать учетную запись, как указано в пункте 1 ниже.

После того, как запрос сделан, происходит одно из следующих действий:

  1. Если участник ранее не принял запрос на разрешение приложения, или срок действия гранта истек или истек вручную Отозванный участником, браузер перенаправляется на экран авторизации LinkedIn, как показано на скриншоте ниже. Когда участник завершает процесс авторизации, браузер перенаправляется по URL-адресу, указанному в параметре запроса redirect_uri.

  2. Если существует действующее разрешение от участника, экран авторизации отображается обойдено, и член немедленно перенаправляется на URL-адрес, указанный в параметре запроса redirect_uri.

На самом деле происходит то, что когда я перенаправляю пользователя на URL-адрес авторизации, он идет для опция 2 написана выше, а не опция 1 , и с нулевым кодом авторизации. Ниже приведен мой код при нажатии кнопки.

        var permissions = new string[] { "r_basicprofile", "r_emailaddress", "w_member_social" }; 
         var authUrl = client.GetAuthorizationUrl(permissions,true);
        return new RedirectResult(authUrl.ToString());

и ниже приведен метод, который вызывается при обратном вызове LinkedIn redirect_uri

    public ActionResult LinkedInAuthentication(string code, string state)
    {
      //the code parameter is null here
    }

Это не должно быть поведение, пожалуйста help.

Также могу ли я узнать, как запросить RefreshToken?

1 Ответ

0 голосов
/ 21 апреля 2020

А-а-а-а, проблема решена, после долгих поисков я начал читать полную документацию по linkedin и нашел ниже приведенную инструкцию в разделе Интеграция> Вход в LinkedIn, а не в Аутентификация> Поток кода авторизации (3-сторонний OAuth), который фактически объясняет каждый шаг аутентификации. , Ссылка, которая объясняет это:

https://docs.microsoft.com/en-us/linkedin/consumer/integrations/self-serve/sign-in-with-linkedin?context=linkedin / потребитель / контекст? Trk = eml_mktg_gco_dev_api_comms # authenticating-members

Аутентифицирующиеся участники Новым участникам, впервые входящим в вашу службу, необходимо будет следовать Руководству по аутентификации с OAuth 2.0. При запросе кода авторизации на шаге 2 Руководства OAuth 2.0 обязательно запросите области r_liteprofile и / или r_emailaddress !

, чтобы измениться

var permissions = new string[] { "r_basicprofile", "r_emailaddress", "w_member_social" };

до

var permissions = new string[] { "r_liteprofile", "r_emailaddress"};

решил проблему.

Надеюсь, что кому-то еще будет полезно :)

Также, если кто-то может помочь, как включить базовые и полнопрофильные функции в приложении? Это будет здорово.

...