1.) Create a website that allows users to login via their facebook account (e.g. https://my.website.com/fb-login.php)
2.) Create a virtual proxy (i named mine fb_auth), chose ticket as authentication method and insert your fb-login url as "Authentication module redirect URI" (see screenshot)
If you navigate to https://YOURQLIKSENSESERVER/fb_auth/hub you will be redirected to the url you specified above, Qlik Sense will also append 2 parameters to your url: proxyRestUri and targetId.
On your site, make sure the user logs or is already logged in via facebook / twitter (there are probably libraries for every language that help you doing this via oauth).
Use the targetId from Qlik Sense to send a ticket request as documented in this link.
The response will have a ticket in it: to authenticate on Qlik Sense just redirect the user back to your Qlik Sense Server and append the ticket like https://YOURQLIKSENSESERVER/fb_auth/hub?QlikTicket=[TICKET]
Maybe you can just redirect to user to TargetUri which is also in the response. That field was empty when I tested it in my local environment.
Hope this helps you,