{"repo":"portalform/handshake","free":true,"listed":false,"github":"https://github.com/portalform/handshake","clone":"git clone https://github.com/portalform/handshake.git","description":"Handshake handles your OAuth flows with over 200 popular APIs. Setup and deploy to Vercel in 5 minutes. 🤝 🍭","language":"TypeScript","stars":136,"topics":["integrations","nextjs","oauth","typescript","next-auth","self-hosted","api-authentication","nodejs","oauth2"],"license":"MIT","category":"auth-billing-email","readme_excerpt":"Handshake Self-hosted app that handles OAuth against 200+ APIs. - About - How it works - Setup - Set environment variables - Configure your providers - Deploy - Fix project root and framework preset in Vercel - Upload environment variables to Vercel - FAQ - Can you add support for X provider? - How is this different from next-auth or passport? - Contributing - License About Handshake helps you get OAuth tokens to your users' accounts in over 200 apps and services. It's an open-source Next.js app that you can easily configure and deploy. See the [full list of providers][1]. How it works Suppose you want to access your users' Salesforce data. You will need to your users for a Salesforce access token to communicate with the Salesforce API on their behalf. Handshake can help with you. To acquire Salesforce credentials for a user, redirect them to: Where YOUR HANDSHAKE URL is something like https://handshake.example.com or wherever you want to host this app. Handshake will then handle all the OAuth dance with Salesforce on your behalf. We will redirect the user to a Salesforce page where they can authorize your app to access their data. Salesforce will then redirect the user back to YOUR HANDSHAKE URL , from where we will redirect the user back to you. Setup Clone the project to your machine: Install dependencies: Build the project: Set environment variables Duplicate the .env.example file within the app folder: In the new file, replace the values for ALLOWED REDIRECT HOST and SES","default_branch":null,"files":null,"tree":[],"storefront":"/r/portalform","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/portalform/handshake/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}