Server-side Callback Embedded Login Example
This simple Java app demonstrates using server-side callbacks for Salesforce Identity's Embedded Login.
Pre-requisites
You'll need an org that has a Community setup and active. Ideally you should have following the Salesforce External Identity Implementation Guide to set up this org or you have completed the Identity for Customers Trailhead module.
Steps to deploy
- Deploy this app to Heroku
- Create a CORS entry for your community's domain. More details here
- Create a Connected App
- Enable OAuth
- Select openid scope
- Set Callback to https://HEROKUAPP_URL/_callback.php e.g. https://strong-castle-20163.herokuapp.com/_callback
- Save
- Copy the Consumer Key
- You will also want to Manage the Connected App and change the Permitted Users policy from User to Admin Approved. Then you will want to a Profile or Permission Set for the user you want to test.
- Set the Heroku config vars via Setting > Reveal Config Vars:
- "SALESFORCE_COMMUNITY_URL" to the Community's domain, no trailing slash and no "https://", for example: mycommunity.force.com/community2
- "SALESFORCE_CLIENT_ID" to your Connected App's Consumer key
- "SALESFORCE_CLIENT_SECRET" to your Connected App's Consumer secret
- "SALESFORCE_HEROKUAPP_URL" to the URL of deployed Heroku App, no trailing slash and no "https://", for example bouncy-castle-1234.herokuapp.com
- Optionally you can change the following Heroku config vars as well
- "SALESFORCE_MODE" to either "modal" or "inline" to control how the login box is rendered
- "SALESFORCE_FORGOT_PASSWORD_ENABLED" to either "true" or "false" depending if you want to display the forgot password link
- "SALESFORCE_SELF_REGISTER_ENABLED" to either "true" or "false" depending if you want to display the user registration link
- Open the app and enjoy!