Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/authress/localstack-extension

Add auth to your LocalStack development.
https://github.com/authress/localstack-extension

authentication authorization authress development localstack permissions security

Last synced: about 2 months ago
JSON representation

Add auth to your LocalStack development.

Awesome Lists containing this project

README

        


Authress logo
Partnership
LocalStack logo

# LocalStack Extension for Authress Authentication and Authorization

This is the [LocalStack](https://localstack.cloud/) extension that enables running authentication, user identity, permissions, api key management, and access control in your [LocalStack environment]() via [Authress](https://authress.io).

This LocalStack extension generates a copy of the [Authress API](https://authress.io/app/#/api) so that the authentication and access management the Authress API provides can be utilized by running services directly in any environment. You can use this to build authentication and authorization directly into your applications and services. Additionally, this extension can be used locally to develop faster without needing an [Authress Account](https://authress.io).












---

## Installation

To install the Authentication & Authorization extension into LocalStack, run
```sh
localstack extensions install localstack-extension-authress
```

## Usage
1. [Start LocalStack](https://docs.localstack.cloud/getting-started/installation/#starting-localstack-with-docker-compose) if it isn't started already. You can do this by running:

```sh
ACTIVATE_PRO=1 LOCALSTACK_AUTH_TOKEN="LOCALSTACK_AUTH_TOKEN" EXTENSION_DEV_MODE=1 DEBUG=1 localstack start
```

If you run into any issues doing that, check out the [Troubleshooting Guide](./troubleshooting.md).

The auth extension runs at `http://authress.localhost.localstack.cloud:4566`.

You can configure API calls to the authorization server by passing this url as the `authressApiUrl` or the `authress_api_url` depending on which SDK you are using.

```ts
import { AuthressClient } from 'authress-sdk';
const authressClient = new AuthressClient({ authressApiUrl: `http://authress.localhost.localstack.cloud:4566` });
await authressClient.userPermissions.authorizeUser(userId, resourceUri, permission);
```

## Knowledge Base

Review the in depth guides in the [Authress Local KB](https://authress.io/knowledge-base/docs/SDKs/authress-local).

## Contribution Guide

[Developing for the LocalStack Authress Extension](https://github.com/Authress/localstack-extension/blob/main/contributing.md)