Commit Graph

12 Commits

Author SHA1 Message Date
Andrew Wilcox
2fd00e58ba Implements the "redirect" login flow, for cases such as using a mobile
UIWebView which aren't able to use the preferred "popup" login flow.

See the specs for details:
  https://meteor.hackpad.com/OAuth-redirect-flow-spec-PeziTcaNPDP
  https://meteor.hackpad.com/OAuth-redirect-flow-part-II-vswwUKP4vXe

I extracted code to construct a URL from the `http` package into a new
`url` utility package.  The new package has no public API, it simply
has the original URL construction functions that were in `http` and
makes them available to oauth.

Fixes the Meetup account login, as Meetup now requires using
"https://api.meetup.com/2/members" instead of
"https://secure.meetup.com/2/members".

The `?close` parameter for the redirect URI is now not needed or used.
For backwards compatibility the `?close` parameter is included if the
login service configuration doesn't include the `loginStyle` field
(indicating it was created using old code).
2014-08-28 17:25:13 -07:00
David Glasser
e4000c6808 Merge branch 'devel' into packaging
Conflicts (around utils.quotemeta):
	tools/packages.js
	tools/utils.js
2014-05-12 17:06:11 -07:00
Emily Stark
0c479a238b Add credential secret argument to retrieveCredential functions.
Fixes #2118.
2014-05-05 20:51:15 -07:00
David Glasser
3b21c2d9a7 Merge branch 'devel' into publish-packages
Conflicts:
	packages/domutils/package.js
	packages/handlebars/package.js
	packages/htmljs/package.js
	packages/liverange/package.js
	packages/madewith/package.js
	packages/meteor-developer/meteor_developer_server.js
	packages/preserve-inputs/package.js
	packages/spark/package.js
	packages/universal-events/package.js
	tools/commands.js
	tools/files.js
	tools/help.txt
	tools/packages.js
2014-04-24 16:27:21 -07:00
Emily Stark
55363a9b86 Merge remote-tracking branch 'origin/devel' into awwx-oauth-encryption
Conflicts:
	History.md
	packages/facebook/facebook_client.js
	packages/github/github_client.js
	packages/google/google_client.js
	packages/meetup/meetup_client.js
	packages/meteor-developer/meteor_developer_client.js
	packages/twitter/twitter_client.js
	packages/weibo/weibo_client.js
2014-04-22 11:31:31 -07:00
David Glasser
8c38550315 Improve error message for pre-config login
Addresses #2048.

An earlier attempt (to wait for the config to load) ran into popup
blockers.

It would be nice to load the config statically with something like
Arunoda's fast-render. That said, even that's not good enough to allow
OAuth logins that bypass the popup blocker that aren't a result of a
user action, and for user actions it's easy enough to gate your login
button on `Accounts.loginServicesConfigured()`.

Longer term solutions include non-popup methods of OAuth login (see
Issue #438).
2014-04-21 13:39:36 -07:00
Andrew Wilcox
83af2e2179 oauth-encryption code review items
Have `OAuthEncryption.open` throw "decryption unsuccessful" on any
error to avoid allowing an attacker to break the encryption key by
observing the result of sending manipulated ciphertexts.

Add oauth-encryption and the oauthSecretKey config options to the docs
page.

Update history.

More documentation on functions.

Use `OAuth.sealSecret(...)` instead of `{seal: ...}`.

Rename OAuth._openSecret(s) to OAuth.openSecret(s).

In the readme describing how to generate a key, just use Node instead
of going through the hassle of creating a Meteor application.

Have the `oauth` package weakly depend on `oauth-encryption` for when
it's being used without accounts.

Add tips on using oauth-encryption without accounts to the readme.
2014-04-10 14:26:44 -04:00
Andrew Wilcox
d365f052f5 Encrypt account service configuration and OAuth secrets stored in the
database.

"Oauth" is renamed to "OAuth".  "Oauth" is kept as an alias for
backwards compatibility.

README.md contains a sample description of how to generate and use the
oauthSecretKey, which might be incorporated into the wiki
documentation page.
2014-04-08 18:57:58 -04:00
Emily Stark
fec53d6136 Add MeteorDeveloperAccounts._config for setting server URL 2014-03-05 11:00:12 -08:00
Emily Stark
1f8fa55c69 Change capitalization of Meteor developer accounts 2014-02-11 11:20:21 -08:00
Emily Stark
3aec2ab85f Send access token in Authorization header instead of query string 2014-02-06 11:22:57 -08:00
Emily Stark
b67c35ded5 Rename packages to Meteor Developer Accounts 2014-01-28 23:55:23 -08:00