Skip to content

A Laravel 5 service provider for the AWS DynamoDB session handler

License

Notifications You must be signed in to change notification settings

fivesqrd/jam-laravel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jam for Laravel 5

A Laravel 5 service provider for the AWS DynamoDB session handler.

NOTE: In the Laravel 5.8 release notes it was announced that DynamoDB session drivers are now baked into the framework itself. As a reault, this package should not be required for Laravel v5.8 and above.

composer require fivesqrd/jam-laravel

Configuration

.env requirements

SESSION_DRIVER=dynamodb
SESSION_LIFETIME=1440
SESSION_TABLE="My-Table-Name"

AWS_ACCESS_KEY_ID="my-key"
AWS_SECRET_ACCESS_KEY="my-secret"
AWS_DEFAULT_REGION="eu-west-1"
#AWS_ENDPOINT="http://localhost:8000"

Create DynamoDB table

For production environments it's important to use the AWS Management Console to create the table. This is to ensure the correct billing and throughput settings are applied. The only requirement is that the table has a partition key of 'id'. For garbage collection you can set your TTL attribute to 'expires'

For local DynamoDB servers and dev environments the following artisan command is available:

php artisan make:jam

IAM Permissions

Allowing the session handler access to the table requires the following IAM permissions:

{
  "Version": "2012-10-17",
  "Statement": [
        {
            "Action": [
                "dynamodb:GetItem",
                "dynamodb:UpdateItem",
                "dynamodb:DeleteItem",
                "dynamodb:Scan",
                "dynamodb:BatchWriteItem"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:dynamodb:<region>:<account-id>:table/<table-name>"
        }
    ]
}

About

A Laravel 5 service provider for the AWS DynamoDB session handler

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages