LinkedIn Social Connector を使用してサイトにログインする際に権限エラーが発生する


説明

サイトでSitecore Social Connectedログイン機能を使用する場合、一部のユーザーがLinkedInアカウントを使用してログインできない場合があります。事象が発生すると、次の例外がSitecore ログ ファイルに記録される場合があります。

ERROR Sitecore.Social: LinkedIn exception: The remote server returned an error: (403) Forbidden.
Exception: Sitecore.Social.NetworkProviders.Exceptions.AccessDeniedException
Message: The remote server returned an error: (403) Forbidden.
Source: Sitecore.Social.NetworkProviders
   at Sitecore.Social.NetworkProviders.Exceptions.Analyzers.NetworkExceptionAnalyzer.ThrowExceptionByStatusCode(Exception exception)
   at Sitecore.Social.LinkedIn.Networks.Providers.LinkedInProvider.AuthGetCode(AuthArgs args)
   at Sitecore.Social.Client.Connector.SocialLogin.ProcessRequest(HttpContext httpContext)

Nested Exception

Exception: System.Net.WebException
Message: The remote server returned an error: (403) Forbidden.
Source: System
   at System.Net.HttpWebRequest.GetResponse()
   at LinkedIn.oAuthLinkedIn.WebResponseGet(HttpWebRequest webRequest)
   at LinkedIn.oAuthLinkedIn.WebRequest(Method method, String url, String postData)
   at LinkedIn.oAuthLinkedIn.oAuthWebRequest(Method method, String url, String postData)
   at Sitecore.Social.LinkedIn.Networks.Providers.LinkedInProvider.AuthGetCode(AuthArgs args)

本事象は、LinkedInのアクセス許可構成メカニズムの変更が原因で発生する可能性があります。

ユーザー情報を取得する際に、Sitecoreによって使用されているLinkedIn権限の一部が、以前には許可されていたにもかかわらず、LinkedInからの明示的な承認を必要とするようになることがあります。これにより、SitecoreからLinkedInへの一部のリクエストがアクセス許可エラーで失敗します。

変更の詳細は、以下の記事を参照してください。
https://developer.linkedin.com/support/developer-program-transition

解決策

Apply with LinkedInまたはパートナー プログラムに申し込んで、ユーザー情報にアクセスしたり、追加の権限が必要なSitecore プロファイル マッピングを無効にしたりすることができます。これには、r_fullprofile、r_contactinfo、r_network等の権限が含まれます。

Sitecore プロファイル マッピングを変更するには、次のファイルを使用します。

LinkedIn ユーザー プロファイル フィールドと必要な権限の詳細は、以下の記事を参照してください。
https://developer.linkedin.com/docs/fields