def parse_token(self, data): token = SocialToken(token=data["access_token"], ) token.token_secret = data.get("refresh_token", "") expires_in = data.get(self.expires_in_key) if expires_in: token.expires_at = timezone.now() + timedelta( seconds=int(expires_in)) # `user_data` is a big flat dictionary with the parsed JWT claims # access_tokens, and user info from the apple post. identity_data = self.get_verified_identity_data(data["id_token"]) token.user_data = {**data, **identity_data} return token
def parse_token(self, data): token = SocialToken(token=data["access_token"]) token.token_secret = data.get("refresh_token", "") public_key = self.get_public_key(data["id_token"]) provider = self.get_provider() client_id = self.get_client_id(provider) token.user_data = jwt.decode( data["id_token"], public_key, algorithm="RS256", verify=True, audience=client_id, ) token.user_data["first_name"] = data.get("first_name", "") token.user_data["last_name"] = data.get("last_name", "") expires_in = data.get(self.expires_in_key, None) if expires_in: token.expires_at = timezone.now() + timedelta( seconds=int(expires_in)) return token