overture-stack / ego

OAuth 2.0 authorization service that supports multiple OpenID identity providers
https://www.overture.bio/products/ego
GNU Affero General Public License v3.0
25 stars 14 forks source link

Create a Passport Service #701

Open Buwujiu opened 1 year ago

Buwujiu commented 1 year ago

Detailed Description

  1. parsePassport → return Passport object from content of Passport JWT (string)
  2. validatePassport (vs public key) → requires passportBroker config (to fetch public key)
  3. can we cache public keys for a period of time? (like a day) → dont need to constantly fetch them
  4. getVisas → return list of visa JWTs
  5. getPermissionsForPassport → return list of permissions from passport (compiled list of all permissions from all visas, remove duplicates)

Possible Implementation