Meteor accounts-base vs. accounts-ui and accounts-password - meteor

My app gets the username and password from the client, then uses them to log in to another site on the web and if successful, the app runs Accounts.createUser({useranme and password});
I do not use the ui provided by accounts-ui.
Do I need to leave accounts-ui and accounts-password installed? Are they required for some behind-the-scene magic? or Meteor stock Accounts package(s) is enough?
If I remove them, will I still be able to serve each client his/her own created documents? Sorry, I am very new to Meteor.
Thanks

There are several questions in here, so I'll inline the answers.
Do I need to leave accounts-ui installed?
No. You mentioned you have your own UI for account management.
Do I need to leave accounts-password installed?
Yes. accounts-password provides you with Accounts.createUser which you mentioned you are using.
If I remove them, will I still be able to serve each client his/her own created documents?
accounts-base gives you Meteor.userId(), Meteor.user(), etc. You'll need those to publish per-user documents. But again, you'll need to keep accounts-password as mentioned above.

Related

Use Meteor accounts packages outside a Meteor app

I have an old Meteor application that is no longer developed/supported, it has a number of users. I have a new app to replace it.
In my new Express app, I have a login handler that can accept a username+password.
How can I make calls like Meteor.loginWithPassword(username, password, callback) when I am not actually in a meteor app. There are many references in the docs to the accounts-password package, but this is not an npm package in itself.
How can I install the required packages outside the meteor CLI? I'm just in a regular npm express app.

Deploy via firebase-tools API without previous login

I'm currently building an open-source microservice that makes use of Firebase Database, Hosting & Functions. The plan is to pack everything in a single binary and distribute this. So users will have a hazzle-free, "bring your own Firebase project"-solution. They'll just have to download the binary and their Firebase secret key and can then create a user and deploy the service via CLI.
The problem is, that firebase-tools require a $FIREBASE_TOKEN when deploying via its API. So users would have to install firebase-tools in order to be able to generate that token and they would also have to store it (or re-generate it frequently).
Since I would like to provide a hazzle-free experience, I'd rather generate that token myself with the help of the secret key.
The question is: is this even possible? And if yes: how??
My workaround for this is to reflect the login- and logout-commands of the Firebase-CLI on my own binary's CLI. So the user won't have to install another tool.
To get the refresh_token I then read the data from the firebase-tools-configstore, that is located in the user folder. This feels a little dirty, like accessing a private API. But I couldn't come up with a better solution. And it works.

Meteor OAuth Add/Pass Query Params to /oauth/authenticate (Twitter "force_login")

I'm creating a package where I allow to connect multiple same service accounts and I need to force the user to login to the account at the popup window every time (do not authenticate automatically) twitter has the option for "force_login" parameter when using Meteor.loginWithTwittertwitter docs
I can't find any way of using it with meteor, I also looked into creating my own twitter/accounts-twitter package but it seems like it's even deeper some where inside oauth packages and it gets really messy to figure out where or how I can do that. Anyone have any ideas?
It was not possible yesterday, but it's possible today. I opened this pull request in the Meteor repository adding this functionality: https://github.com/meteor/meteor/pull/5693
Meteor.loginWithTwitter({ force_login: true }, ...);
Note it's not merged yet, but hopefully it will be soon.

How to add collaborator for Meteor package in Atmosphere

I have posted a package into atmospherejs. Package was done in collaboration with a few people. How to add them as collaborators there?
Also it could be good to publish package as an organisation. Any ideas how to do this?
meteor admin maintainers <yourusername:your-package> --add <collaboration-username>
meteor admin maintainers iron:router --add mrt
It's probably best indeed to publish the packages as an organization. That is the approach I'm recommending especially for 3rd party libraries. For example, I'm the sole contributor right now to webix:webix, but that may change in the future, and in any case, the credit should go to webix, not me.
To create an organization, go to Meteor -> My Account -> Organizations. Add a new organization, then add members to it.
No need for meteor admin maintainers. However, run meteor admin help maintainers for available operations.

Meteor admin panel package

does meteor have backend admin panel like "rais_admin" or "active admin" in rails for CRUD operations under models?
One of the teams at the first Meteor Summer Hackathon wrote the z-mongo-admin package that gives you a panel for basic CRUD operations. This should have the functionality that you're looking for.
Update 6/1/2015 - YES, since version 1.0.2. Once your app is running using meteor, run meteor shell in the same directory in a separate tab and you'll have a REPL.
Not yet. You can run meteor mongo in the app directory to access the database. Currently, you need the app running for this to work.
Observatory is a burgeoning logging and testing framework. Perhaps some kind of REPL will fit in the future.
Meteor Admin is an alternative to Houston based on the Autoform package.
It offers full CRUD based on your collection schemas.
Meteor Candy is an admin panel made just for Meteor. The idea is, everyone builds their Meteor app differently, but we do have commonalities such as the use of Accounts packages, etc, and that's a good place to start.
The package uses Dynamic Import available in Meteor 1.5, which means it adds virtually no weight to your client bundle.
Disclosure: I am the creator of the package
You should try Houston: https://github.com/gterrono/houston
Watch the video presentation here:
https://www.youtube.com/watch?v=8ASwWEZsAog

Resources