Login services should be defined from within their packages
Corresponding login service assets (images and css should be in their respective packages not inside of accounts-ui-unstyled)
Conflicts:
packages/accounts-linkedin/linkedin_client.js
packages/accounts-linkedin/package.js
packages/accounts-ui-unstyled/login_buttons.js
packages/accounts-ui-unstyled/login_buttons_images.css
field (eg, to refresh access tokens) but does *not* update anything else (which
is effectively a no-op change because in practice the only thing that it
attempted to update was "profile" but because existing fields were not
overridden, this never did anything).
Remove the "extra" argument from createUser and related functions. Add a new
"profile" option to the main options dictionary, interpreted by
defaultCreateUserHook.
- Split login_buttons.html and login_buttons.js into multiple files
- Specifically, make it easier to reason about the display of loginButtons whether it is in dropdown mode or not
- Split templates into subtemplates to make it easier to read the login button .html files as "tables of contents"
- Introduce Meteor._loginButtonsSession, which makes it easier to access internal session fields for loginButtons
- Unify code that calls the various Meteor.loginWithFoo() functions
Breaking change: rename "configureLoginServicesDialogForFoo" to "configureLoginServiceDialogForFoo" (in packages such as accounts-facebook)
This is an internal function only used by OAuth implementations and the
equivalent, so rename to a more specific name:
Accounts.updateOrCreateUserFromExternalService.
Change the signature to directly take serviceName and serviceData instead of a
nested data structure with a very specific structure. Similarly, change
Accounts.oauth.registerService's handleOauthRequest callback to un-nest the
service data.
Throw errors on misuse (if you try to use it with the "password" or
soon-to-be-introduced "resume" services, or if you don't provide an id).
Avoid doing no-op user updates if there is nothing new in "extra".