Commit Graph

21 Commits

Author SHA1 Message Date
Avital Oliver
fddfa75421 Increase height of Google login pop-up
Verified that now the entire email/password form is visible.
2014-10-23 15:28:28 -07:00
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
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
David Glasser
a251255001 Revert "Meteor.loginWith<External> now waits for config"
This reverts commit 76ded8feb2.
2014-04-21 13:39:36 -07:00
Emily Stark
66b73e170e Merge branch 'oauth-encryption' of https://github.com/awwx/meteor into awwx-oauth-encryption
Conflicts:
	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/oauth/pending_credentials.js
	packages/twitter/twitter_client.js
	packages/weibo/weibo_client.js
2014-04-21 11:08:43 -07:00
David Glasser
76ded8feb2 Meteor.loginWith<External> now waits for config
While this could mean that there's an indefinite wait before logging you
in, any condition where login configuration isn't being swiftly
published (after all, it should be cached) is a bigger problem.

`Accounts`/accounts-base is an awkward place to put this, because in
theory we wanted the packages like "twitter" to not depend on
accounts. But it turns out that service-configuration depends on
accounts anyway, so this isn't much of a regression. We can't put this
function in service-configuration because that package doesn't actually
do the subscription and make the ready handle. (Maybe oauth would be a
better place, but again, that's a package that doesn't currently depend
directly on accounts-base and would have to.)

Fixes #1911 and #2048.
2014-04-18 15:09:59 -07:00
Emily Stark
e544a8e03a Increase length of security-critical random tokens. Add Random.secret. 2014-04-17 16:12:16 -07: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
Tim Haines
fcf08c966a Update Google oauth scopes. The previous ones were deprecated. 2014-03-13 17:27:36 -07:00
Emily Stark
d573464f92 Rename Oauth.initiateLogin to Oauth.showPopup. 2013-11-20 11:26:51 -08:00
David Glasser
38ed624909 Don't do Google domain redirect if restrictCreationByEmailDomain is function. 2013-10-04 12:46:17 -07:00
Slava Kim
bd77b172bd Rename Accounts option 'restrictCreationByEmail' to 'restrictCreationByEmailDomain' 2013-10-01 17:14:30 -07:00
Slava Kim
d855e58f92 Implement Accounts.config({ restrictCreationByEmail: 'mit.edu' })
- Check email for users created with password or any social account's email
- Throw an error with explanation on bad email domain.
- Set `hd` param for Google Accounts authentication url
- Docs description
- Touch History.md

- Possibly should add it into QA process?
2013-09-26 14:50:55 -07:00
Nicklas Ansman Giertz
115164e4af Add the option to use a hosted domain with google's oauth
The hd option is used to restrict which email domain that are allowed to
log in to your app.

Starting from this commit you can pass `hostedDomain: 'example.com'` to
only allow emails from the domain `example.com`.
2013-09-25 21:36:27 -07:00
Slava Kim
fd17e3337a Google login popup window has reasonable height.
So the 'use different account' and 'login' buttons are visible without
scrolling.
2013-08-08 16:39:21 -07:00
David Glasser
9f38258b54 Drop all @export lines. Add api.exportSymbol instead. 2013-07-25 18:54:40 -07:00
Geoff Schmidt
d2024ccee1 Clean up namespacing in accounts system too. 2013-07-25 18:54:40 -07:00
Zoltan Olah
951fc87213 Added support to force the approval prompt for the google oAuth flow. 2013-07-23 22:50:07 -07:00
Tim Haines
00efa2fe51 Update requestCredential method to take only 2 params - options and credentialRequestCompleteCallback 2013-05-17 18:00:35 -07:00
Tim Haines
9b1b6da9ff Extract google package from accounts-google 2013-05-17 18:00:35 -07:00