-
Notifications
You must be signed in to change notification settings - Fork 43
Closed
Description
This is an issue similar to the one created for Github thrid party provider #474. I noticed that we are recieving user info from linkedin but it is not being passed so it cannot be accessed when overriding thridparty functions.
Below code is from the file linkedin.py from the latest python SDK 0.26.1 and you can see that only third_party_user_id
and email
are being returned.
class LinkedinImpl(GenericProvider):
...
async def get_user_info(
self, oauth_tokens: Dict[str, Any], user_context: Dict[str, Any]
) -> UserInfo:
access_token: Union[str, None] = oauth_tokens.get("access_token")
if access_token is None:
raise Exception("Access token not found")
headers = {
"Authorization": f"Bearer {access_token}",
}
raw_user_info_from_provider = RawUserInfoFromProvider({}, {})
# https://learn.microsoft.com/en-us/linkedin/consumer/integrations/self-serve/sign-in-with-linkedin-v2?context=linkedin%2Fconsumer%2Fcontext#sample-api-response
user_info = await do_get_request(
"https://api.linkedin.com/v2/userinfo", headers=headers
)
raw_user_info_from_provider.from_user_info_api = user_info
return UserInfo(
third_party_user_id=raw_user_info_from_provider.from_user_info_api.get("sub"), # type: ignore
email=UserInfoEmail(
email=raw_user_info_from_provider.from_user_info_api.get("email"), # type: ignore
is_verified=raw_user_info_from_provider.from_user_info_api.get("email_verified"), # type: ignore
),
)
Metadata
Metadata
Assignees
Labels
No labels