Skip to content

ganhammar/OpenIddict.AmazonDynamoDB

Repository files navigation

OpenIddict.AmazonDynamoDB

Build Status codecov NuGet

A DynamoDB integration for OpenIddict.

Getting Started

You can install the latest version via Nuget:

> dotnet add package Community.OpenIddict.AmazonDynamoDB

Then you use the stores by calling AddDynamoDbStores on OpenIddictBuilder:

services
    .AddOpenIddict()
    .AddCore()
    .UseDynamoDb()
    .Configure(options =>
    {
        options.BillingMode = BillingMode.PROVISIONED; // Default is BillingMode.PAY_PER_REQUEST
        options.ProvisionedThroughput = new ProvisionedThroughput
        {
            ReadCapacityUnits = 5, // Default is 1
            WriteCapacityUnits = 5, // Default is 1
        };
        options.UsersTableName = "CustomOpenIddictTable"; // Default is openiddict
    });

Finally, you need to ensure that tables and indexes have been added:

OpenIddictDynamoDbSetup.EnsureInitialized(serviceProvider);

Or asynchronously:

await OpenIddictDynamoDbSetup.EnsureInitializedAsync(serviceProvider);

Tests

In order to run the tests, you need to have DynamoDB running locally on localhost:8000. This can easily be done using Docker and the following command:

docker run -p 8000:8000 amazon/dynamodb-local