Auto-filling client ID/secret in accounts package

Right now when you add eg. accounts-google, you have to go manually set it up. Compared to basically every other solution out there, this is 99x faster (instead of 3 days to implement, it takes 30 seconds). Especially as Meteor provides precise instructions on what to do.

After 2+ years of Meteor development, I’m spoilt, dammit! 30 seconds is too much of my time. It should take 3 seconds (the time it takes to write {{> loginButtons}}), no more.

In order to accomplish that, we need to autoconfigure the oauth. But there’s a reason Meteor doesn’t already do that, and that’s because you basically can’t autoconfigure something that requires access to your Google/Twitter/etc account.

What are some strategies we could use to hack this anyway?

  • Build a Chrome extension that opens a tab to the right Google Cloud page and just copies the values out of the input fields
  • Build a Chrome extension that you can store pre-created ID/secrets in so you only have to do this once, ever (for development) and subsequent apps draw on that info (I do nearly this now by just having an ID/secret ready to go in a text file that I pull up)
  • Create a package that you add to your project that just sets up the configuration for you (eg. accounts-oauth-config or something). Necessitates someone making Google/Twitter/etc accounts and then allowing everyone to use them for localhost?
  • Anything else?

Maybe we could have some kind of cross-app Meteor config file that is completely optional but nevertheless allows you to store something like this. And if we do that, we might also be able to set new apps to automatically install coffeescript, stylus, animate-everything etc. But then we’re just building a meteor skeleton package. Do we want that?