DynamoDB store implementation for https://github.com/go-oauth2/oauth2
Based on https://github.com/go-oauth2/mongo
$ go get -u github.com/rjewing/go-oauth2-dynamodb
package main
import (
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/dynamodb"
ddbstore "github.com/rjewing/go-oauth2-dynamodb"
"gopkg.in/oauth2.v3/manage"
)
func main() {
manager := manage.NewDefaultManager()
config := &aws.Config{
Region: aws.String("us-west-2"),
Endpoint: aws.String("http://localhost:8000"),
}
sess := session.Must(session.NewSession(config))
client := dynamodb.New(sess)
// use dynamodb token store
manager.MapTokenStorage(
ddbstore.NewTokenStore(client, ddbstore.NewDefaultTokenConfig()),
)
// ...
}
$ docker pull amazon/dynamodb-local
$ docker run -p 8000:8000 amazon/dynamodb-local
This sets up a local dynamodb server running on http://localhost:8000
.
Copyright (c) 2020 Ryan Ewing