mshanemc / deploy-to-sfdx

the power behind hands-on workshops, demo booths, and platform trial
BSD 3-Clause "New" or "Revised" License
88 stars 43 forks source link

[Enhancement request] Have an integration with an Oauth provider to put the creator behind login/domain validation. #69

Open erocheleau opened 4 years ago

erocheleau commented 4 years ago

It would be awesome if I could plug this easily into something Auth0 for example to require users to authenticate with Google and only authorize my company's domain perhaps?

Since Heroku is kinda open to the entire world and that this allows to create scratch orgs which are a limited resource, it would be nice to be able to secure that app very easily once deployed. The Auth0 Heroku addon seemed like a good candidate for that I think and it would support tons of OAuth identity providers.

mshanemc commented 4 years ago

Have considered that option...a few other options would be to add IP restrictions (either in code or via heroku private spaces and just expose the web). Pretty sure one of the teams at Salesforce did something similar.

Are the people you're imagining not Salesforce users? Because authing to an org would also be an easy option since we already have jsforce on the deployer.

Any chance you'd want to contribute that part?

erocheleau commented 4 years ago

You mean having a Salesforce account, not Salesforce employees right?

I was going to try to do it with Auth0 in a fork but I tried forking and cloning the repo but the npm install didn't manage to run properly with an error (tried on windows/MAC) on node 10.15 OR 12.13.1 OR 9.


npm WARN deprecated @types/dotenv@8.2.0: This is a stub types definition. dotenv provides its own type definitions, so you do not need this installed.
npm WARN deprecated rollup-plugin-replace@2.2.0: This module has moved and is now available at @rollup/plugin-replace. Please update your dependencies. This version is no longer maintained.
npm WARN deprecated @types/nock@11.1.0: This is a stub types definition. nock provides its own type definitions, so you do not need this installed.
npm WARN deprecated samsam@1.3.0: This package has been deprecated in favour of @sinonjs/samsam
npm WARN deprecated browserslist@1.7.7: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
npm ERR! Cannot read property 'match' of undefined
npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/username/.npm/_logs/2020-01-16T19_30_14_526Z-debug.log```

I got that error every time and didn't have time to push further.