AddOAuth linkedin dotnet core 2.0

Estoy usando dotnet core. Quiero configurar una autenticación de LinkedIn en el sitio, ya que no hay un generador de autenticación predeterminado para LinkedIn como Facebook, Google y Twitter. Decidí usar la implementación genérica de la siguiente manera:

services.AddAuthentication().AddOAuth("LinkedIn", 
            c =>
            {
                c.ClientId = Configuration["linkedin-app-id"];
                c.ClientSecret = Configuration["linkedin-app-secret"];
                c.Scope.Add("r_basicprofile");
                c.Scope.Add("r_emailaddress");
                c.CallbackPath = "/signin-linkedin";
                c.AuthorizationEndpoint = "https://www.linkedin.com/oauth/v2/authorization";
                c.TokenEndpoint = "https://www.linkedin.com/oauth/v2/accessToken";
                c.UserInformationEndpoint = "https://api.linkedin.com/v1/people/~:(id,formatted-name,email-address,picture-url)";
})

Tengo un problema porque GetExternalLoginInfoAsync () es nulo, buscando la fuente principal de Identity ASP.net, es porque la clave del proveedor es nula.

Tomado del código central de asp.net:

var providerKey = auth.Principal.FindFirstValue(ClaimTypes.NameIdentifier);
var provider = items["LoginProvider"] as string;
if (providerKey == null || provider == null)
{
   return null;
}

la pregunta es dónde puedo agregar elClaimTypes.NameIdentifier al reclamo de LinkedIn?

Respuestas a la pregunta(2)

Su respuesta a la pregunta