graphcool-templates icon indicating copy to clipboard operation
graphcool-templates copied to clipboard

Create seperate repo for authentication

Open kbrandwijk opened this issue 6 years ago • 3 comments

With all the different authentication implementations, I think it makes sense to move them to a seperate repo.

kbrandwijk avatar Jul 23 '17 11:07 kbrandwijk

I'll restructure the functions into different folders in the coming days. My current idea:

.
├── authentication
│   ├── auth0-authentication
│   ├── email-user-management
│   ├── facebook-authentication
│   ├── phone-user-management
│   └── google-authentication
├── emails-and-notifications
│   ├── one-signal
│   ├── sendgrid-email
│   └── slack-bot-notifications
├── file-handling
│   ├── cloudinary-images
│   └── file-proxy
├── miscellaneous
│   ├── generate-slug
│   ├── github-fetch-repo
│   ├── google-geocoding
│   └── tictactoe-gameserver
└── payment
    ├── stripe-coupons
    ├── stripe-create-customer
    └── stripe-create-customer-es6

marktani avatar Jul 27 '17 17:07 marktani

Sounds great, although I would move authentication to it's own repo, because it's going to grow a lot bigger and you're going to end up with an extra level of folders along the way, because there's:

  • Signup/login: signing up/logging in using Auth0, Google, Twitter, Facebook, LinkedIn, Github, Single-Sign-On with Enterprise verification (ADFS), basically any of the hundreds of providers (passport.js alone offers 300 options already)
  • Signup verification: email verification, phone number verification, etc.
  • Login verification: 2FA (TOTP, Push notification, OTP SMS/call)
  • Enhanced security: tracking/auditing login attempts, user lockout, password reset

Also, you might need a folder for 'exposing external APIs', for SE's where there's no real integration with the rest of a project, but just exposing an API through Graphcool (like the Weather API, traffic/directions API examples I put in my FR).

Also, 'payment' might become the more general 'webcommerce', to also fit things like shipping calculators/providers, etc. together with payment providers.

kbrandwijk avatar Jul 28 '17 15:07 kbrandwijk

I suppose auth primitives should be available as NPM libs.

steida avatar Oct 29 '17 20:10 steida