/ / python auth social o url da imagem do linkedin é nulo - python, django, python-social-auth

python social auth linkedin imagem url é nulo - python, django, python-social-auth

Estou usando autenticação social python com django para fazer loginvia LinkedIn e tento obter o URL da imagem pública. No entanto, não importa o que eu faça, fico ficando nulo. Tentei todas as combinações possíveis, de public-picture-url a pictureUrl, todas as combinações de sublinhados, CamelCase e dash, com ou sem "public". Nada funciona.

aqui estão minhas configurações (atuais):

SOCIAL_AUTH_LINKEDIN_SCOPE = ["r_basicprofile", "r_emailaddress"]
SOCIAL_AUTH_LINKEDIN_FIELD_SELECTORS = ["picture-url", "email-address", "headline", "industry"]
SOCIAL_AUTH_LINKEDIN_EXTRA_DATA = [("id", "li_id"),
("firstName", "first_name"),
("lastName", "last_name"),
("emailAddress", "email_address"),
("headline", "headline"),
("picture-url", "picture_url")]

AUTHENTICATION_BACKENDS = (
"social_auth.backends.contrib.linkedin.LinkedinBackend",
"django.contrib.auth.backends.ModelBackend",
)

PS eu já vi isso Django / python-social-auth: dados extras do LinkedIn retornam nulos em alguns campos e não ajudou.

Respostas:

0 para resposta № 1

aparentemente, a coleta de dados extras não está no pipeline por padrão. isso resolveu:

SOCIAL_AUTH_PIPELINE = (
"social.pipeline.social_auth.social_details",
"social.pipeline.social_auth.social_uid",
"social.pipeline.social_auth.auth_allowed",
"social.pipeline.social_auth.social_user",
"social.pipeline.user.get_username",
"social.pipeline.user.create_user",
"social.pipeline.social_auth.associate_user",
"social.pipeline.social_auth.load_extra_data",
"social.pipeline.user.user_details"
)