What's Heroku?
Heroku is the app that shakes hands both with your Salesforce organization AND your mobile phone. Heroku makes it possible to have many field workers out collecting data on their phones, but using up only ONE Salesforce license. Remember your "integration user"? That's the one license that the Grassroots Mobile App uses. Let's get Heroku set up. We use the free version, so if you are asked for your credit card, just know you won't be needing to pay anything.
Sign up for Heroku: https://www.heroku.com/home
To Set Up Multi-Factor Authentication
Multi-Factor Authentication (MFA) means that just having a password and a secret word aren't really enough to keep your account and your data safe. Salesforce, as a company, has moved to requiring MFA. Trust, after all, is Salesforce's most important product. Here's how to set this up on your Heroku account.
Go to Account Settings (under your profile picture or icon in the upper right corner of the page.)
Enable MFA
Scroll down to the MFA section and click Enable Multi-Factor Authentication. These are the options. I opted for the Salesforce Authenticator and the Recovery Codes (which come with a list of codes to plug in when you don't have access to a phone that will verify your login.) Be sure to save the document with the codes in a secure but unforgettable place!
Here are the other options, with short explanations. Press Add to get more info on each option.
Microsoft and Google Authenticator.-- One time password generator
Security Key - for example, a physical device that generates a one-time code
Built-in - Fingerprint on phone, Your laptop
Below is the Multi-Factor Authentication section on the Account Settings, showing that Multi-Factor Authentication is enabled.
Deploy the Login API app
Use the convenient purple button on the page to deploy the code to set up Heroku's Login API app for the phone.
You'll get this screen, and can fill in the details. You can leave the App Name blank, and Heroku will give you an app name, or you can add the name of your organization + Grassroots Mobile App or some other name of your choice.
Configure the Variables
Here's how:
Enter the Salesforce password, Security Token and Username of the Integration User you set up in the GrassRootsSurveySalesforcePackage install.
Forgot how to get your security token? Jump back to the Post-Install Configuration article and there are detailed instructions there.
Salesforce login may need to be test.salesforce.com if you are installing in a sandbox.
Sandboxes have CS in the beginning of the instance.
Before I could deploy the app, however, I needed to verify my account by providing credit card information. If you click Deploy App, Heroku will remind you to enter your credit card info.
LastPass holds all the variables for me. I hope you have a good place to keep these details until they are installed in Heroku.
Manage the App
Click Manage App
Click on the Auth0 app
Click on Applications> Applications> Default App
Go to Settings
Go to Advanced Settings at the bottom of the page
SCREENSHOT ON THE ADVANCED
Go to Grant Types Tab and enable the Password Checkbox. Save Changes.
Does the MFA work properly if we don't check that box? Or do we need to?
Add Users
These are the folks who will be using the app, but have no license to access Salesforce. Field workers, disaster relief workers, health workers, elder care workers, in-home care visitors, etc.
Check on the left side of the page for User Management
Create Users for all your Field Workers. The email should be the Field Worker's Login Email field from the Salesforce contact page.
With each user you add, you'll get an email asking you to verify the account for this Heroku user.