Browse Source

Use expiration time stamp for TURN REST API auth.

pull/17/merge
Simon Eisenmann 11 years ago
parent
commit
ac3a2c32b5
  1. 6
      src/app/spreed-speakfreely-server/hub.go

6
src/app/spreed-speakfreely-server/hub.go

@ -146,12 +146,12 @@ func (h *Hub) CreateTurnData(id string) *DataTurn {
bar.Write([]byte(id)) bar.Write([]byte(id))
id = base64.StdEncoding.EncodeToString(bar.Sum(nil)) id = base64.StdEncoding.EncodeToString(bar.Sum(nil))
foo := hmac.New(sha1.New, h.turnSecret) foo := hmac.New(sha1.New, h.turnSecret)
now := int32(time.Now().Unix()) expiration := int32(time.Now().Unix())+turnTTL
switch h.turnUsernameFormat { switch h.turnUsernameFormat {
case "time:id": case "time:id":
user = fmt.Sprintf("%d:%s", now, id) user = fmt.Sprintf("%d:%s", expiration, id)
default: default:
user = fmt.Sprintf("%s:%d", id, now) user = fmt.Sprintf("%s:%d", id, expiration)
} }
foo.Write([]byte(user)) foo.Write([]byte(user))
password := base64.StdEncoding.EncodeToString(foo.Sum(nil)) password := base64.StdEncoding.EncodeToString(foo.Sum(nil))

Loading…
Cancel
Save