Skip to content

Commit 06117d1

Browse files
committed
feat(签名): 增加签名过期时间
1 parent 1789e01 commit 06117d1

File tree

9 files changed

+15
-12
lines changed

9 files changed

+15
-12
lines changed

internal/builder/chuangcache.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ func NewChuangcache(builder *Domain, params *param.Domain) *Chuangcache {
1919
}
2020
}
2121

22-
func (c *Chuangcache) A(token string) (cache *Chuangcache) {
22+
func (c *Chuangcache) C(token string) (cache *Chuangcache) {
2323
c.signer = d.NewChuangcache(token)
2424
cache = c
2525

internal/core/client.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package core
33
import (
44
"net/url"
55
"path"
6+
"time"
67

78
"github.com/goexl/cdn/internal/internal/constant"
89
param2 "github.com/goexl/cdn/internal/internal/param"
@@ -25,12 +26,12 @@ func NewClient(params *param2.Cdn) *Client {
2526
}
2627
}
2728

28-
func (c *Client) Sign(from string) (signed *url.URL, err error) {
29+
func (c *Client) Sign(from string, expired time.Duration) (signed *url.URL, err error) {
2930
if parsed, pe := url.Parse(from); nil != pe {
3031
err = pe
3132
} else if _domain, ee := c.lookupDomain(parsed.Host); nil != ee {
3233
err = ee
33-
} else if se := _domain.Sign(parsed); nil != se {
34+
} else if se := _domain.Sign(parsed, expired); nil != se {
3435
err = se
3536
} else {
3637
signed = parsed

internal/internal/param/domain.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package param
22

33
import (
44
"net/url"
5+
"time"
56

67
"github.com/goexl/cdn/internal/internal"
78
"github.com/goexl/cdn/internal/internal/constant"
@@ -19,8 +20,8 @@ func NewDomain() *Domain {
1920
}
2021
}
2122

22-
func (d *Domain) Sign(url *url.URL) (err error) {
23-
if se := d.Signer.Sign(url); nil != se {
23+
func (d *Domain) Sign(url *url.URL, expired time.Duration) (err error) {
24+
if se := d.Signer.Sign(url, expired); nil != se {
2425
err = se
2526
} else {
2627
url.Host = d.Host

internal/internal/signer.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@ package internal
22

33
import (
44
"net/url"
5+
"time"
56
)
67

78
type Signer interface {
8-
Sign(url *url.URL) (err error)
9+
Sign(url *url.URL, expired time.Duration) (err error)
910
}

internal/internal/signer/a/tencent.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ func NewTencent(key string) *Tencent {
2828
}
2929
}
3030

31-
func (t *Tencent) Sign(url *url.URL) (err error) {
31+
func (t *Tencent) Sign(url *url.URL, _ time.Duration) (err error) {
3232
now := time.Now().Unix()
3333
key := fmt.Sprintf(t.pattern, url.EscapedPath(), now, xid.New().String(), t.key)
3434
sb := gox.StringBuilder(url.RawQuery)

internal/internal/signer/b/tencent.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ func NewTencent(key string) *Tencent {
2323
}
2424
}
2525

26-
func (tb *Tencent) Sign(url *url.URL) (err error) {
26+
func (tb *Tencent) Sign(url *url.URL, _ time.Duration) (err error) {
2727
now := time.Now().Format("20060102150405")
2828
key := fmt.Sprintf(tb.pattern, tb.key, now, url.EscapedPath())
2929
sign := cryptor.New(key).Md5().Hex()

internal/internal/signer/c/tencent.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ func NewTencent(key string) *Tencent {
2424
}
2525
}
2626

27-
func (t *Tencent) Sign(url *url.URL) (err error) {
27+
func (t *Tencent) Sign(url *url.URL, _ time.Duration) (err error) {
2828
now := strconv.FormatInt(time.Now().Unix(), 16)
2929
key := fmt.Sprintf(t.pattern, t.key, url.EscapedPath(), now)
3030
sign := cryptor.New(key).Md5().Hex()

internal/internal/signer/d/changcache.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ func NewChuangcache(token string) *Chuangcache {
2929
}
3030
}
3131

32-
func (c *Chuangcache) Sign(url *url.URL) (err error) {
33-
now := time.Now().Unix()
32+
func (c *Chuangcache) Sign(url *url.URL, expired time.Duration) (err error) {
33+
now := time.Now().Add(expired).Unix()
3434
key := fmt.Sprintf(c.pattern, c.token, url.Path, now)
3535
sign := cryptor.New(key).Md5().Hex()
3636
sb := gox.StringBuilder(url.RawQuery)

internal/internal/signer/d/tencent.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ func NewTencent(key string, signature string, timestamp string) *Tencent {
3030
}
3131
}
3232

33-
func (t *Tencent) Sign(url *url.URL) (err error) {
33+
func (t *Tencent) Sign(url *url.URL, _ time.Duration) (err error) {
3434
now := strconv.FormatInt(time.Now().Unix(), 16)
3535
key := fmt.Sprintf(t.pattern, t.key, url.EscapedPath(), now)
3636
sign := cryptor.New(key).Md5().Hex()

0 commit comments

Comments
 (0)