def METHOD_NAME(social_account: SocialAccount) -> OAuth2Session:
    refresh_token_url = FirefoxAccountsOAuth2Adapter.access_token_url
    social_token = social_account.socialtoken_set.first()
    if social_token is None:
        raise NoSocialToken(uid=social_account.uid)
    def _token_updater(new_token):
        update_social_token(social_token, new_token)
    client_id = social_token.app.client_id
    client_secret = social_token.app.secret
    extra = {
        "client_id": client_id,
        "client_secret": client_secret,
    }
    expires_in = (social_token.expires_at - datetime.now(timezone.utc)).total_seconds()
    token = {
        "access_token": social_token.token,
        "refresh_token": social_token.token_secret,
        "token_type": "Bearer",
        "expires_in": expires_in,
    }
    # TODO: find out why the auto_refresh and token_updater is not working
    # and instead we are manually refreshing the token at get_subscription_data_from_fxa
    client = OAuth2Session(
        client_id,
        scope=settings.SOCIALACCOUNT_PROVIDERS["fxa"]["SCOPE"],
        token=token,
        auto_refresh_url=refresh_token_url,
        auto_refresh_kwargs=extra,
        token_updater=_token_updater,
    )
    return client