Categorygithub.com/getto-systems/aws_cloudfront_token-go
repositorypackage
1.2.1
Repository: https://github.com/getto-systems/aws_cloudfront_token-go.git
Documentation: pkg.go.dev

# README

aws_cloudfront_token

golang: aws cloudfront token signer

status: production ready GoDoc

import (
	"io/ioutil"
	"log"
	"time"

	"github.com/getto-systems/aws_cloudfront_token-go"
)

pem, err := ioutil.ReadFile("path/to/aws_cloudfront_key_pair/pk.pem")
if err != nil {
	log.Fatal(err)
}

privateKey := aws_cloudfront_token.KeyPairPrivateKey(pem)

resource := "https://AWS_CLOUDFRONT_BASE_URL/*"
expires: := time.Now().Add(time.Duration(30 * 1_000_000_000)), // expires 30 seconds after

token, err := privateKey.Sign(resource, expires)
if err != nil {
	log.Fatal(err)
}

// token.Policy    // aws cloudfront fravor base64 encoded string
// token.Signature // aws cloudfront fravor base64 encoded string
Table of Contents

Requirements

  • golang: 1.14

License

MIT license.

Copyright © shun-fix9