Skip to content

This is a document library microservice which converts AWS S3 into a--Doc repository as a Service

License

Notifications You must be signed in to change notification settings

Authress/document-library-microservice.js

Repository files navigation

Authress media banner

Authress example: AWS S3 Document Repository Microservice

This is the Document Library microservice.

It is an example that uses a REST api to expose S3 in a secure but abstracted way. The full details of the configuration are available in our Knowledge Base

Specifically it uses S3 as a backend to expose a REST api providing the features of a Dropbox or Google Drive-like solution. To do this, it utilizes an Authress account and deploys a Lambda microservice to CloudFront. It is a globally redundant service which is 100% serverless and scales with usage.

The Authress development team has provided this as a fully working service to demonstrate the ability to add granular access permissions to any microservice.

Features

  • Fully integratable with any user identity management tool. Follow the configuration steps and hook up the IdP to your Authress account.
  • Utilizes CloudFront to be global accessible and redundant using Lambda@Edge for edge compute
  • Generates Presigned urls where possible to enable GB or TB large uploads directly to and downloads from S3.
  • Hierarchy based permissions management to give access to cascading resources.
  • Multitenant architecture, enabling your users to use separated accounts to manage their own tenant in your service
  • One-click deploys directly from the AWS Serverless Application

Setup

  1. Deploy the lambda function using the npm run deploy function or directly from the AWS Serverless Application.
  2. Configure your Authress account and generate a Service Client for access permission checks
  3. Done!

Troubleshooting

If you run into any problems just try running through the suggested Troubleshooting steps and if that doesn't help, file an issue, we are usually quick to respond.