TTUSDC / cpceed-webapp

CPCEED Web App
https://ttusdc.github.io/cpceed-webapp/
3 stars 0 forks source link

Restructure Project Structure/Infrastructure #40

Open NilsG-S opened 6 years ago

NilsG-S commented 6 years ago

Repos:

Tasks (per-repo):

Tasks (overall):

Authentication:

There are a few options for how to conduct authentication in this app.

  1. Identity microservice with centralized authorization checks. Basically there's a single identity microservice that all of the other microservices contact whenever someone attempts to access a restricted resource.
  1. Identity microservice with API gateway. Basically only the API gateway checks authorization. Any activity beyond the gateway is assumed to be authorized.

  2. Identity microservice with distributed authorization checks. Basically the identity microservice issues tokens sized with some secret value. All microservices have this secret value so they can check the validity of tokens sent to them.

Note: all of the above assume we don't want SSO for our different front-ends (which we don't). SSO would require oAuth/OpenID Connect. See https://www.coreblox.com/blog/2018/2/identity-as-a-microservice

Resources:

ynigoreyes commented 6 years ago

Microservices, Yarn, Material UI, compose in production and development

NilsG-S commented 6 years ago

Individual package.json files

NilsG-S commented 6 years ago

@ynigoreyes Here's some API gateway software I've found:

https://stackoverflow.com/questions/46769814/is-there-a-comprehensive-comparison-between-tyk-vs-kong

NilsG-S commented 6 years ago

I'm liking Tyk. It's fast, accepts plugins in many languages, and seems relatively simple.

Here's the basic authentication structure I was looking at: https://tyk.io/docs/security/your-apis/json-web-tokens/

ynigoreyes commented 6 years ago

What is 3rd party/custom idp??? is that equivalent to what our auth micro is going to be?

NilsG-S commented 6 years ago

That's the impression I got

EDIT

We'll also need this to handle updates: https://tyk.io/docs/ensure-high-availability/service-discovery/

NilsG-S commented 6 years ago

Remaining work on cpceed-student-app: [see first post]