Commit 5e8647a5 authored by chenweijian's avatar chenweijian

trtc

parent bfbd73fb
package trtc
import (
"encoding/base64"
"strings"
)
func base64urlEncode(data []byte) string {
str := base64.StdEncoding.EncodeToString(data)
str = strings.Replace(str, "+", "*", -1)
str = strings.Replace(str, "/", "-", -1)
str = strings.Replace(str, "=", "_", -1)
return str
}
func base64urlDecode(str string) ([]byte, error) {
str = strings.Replace(str, "_", "=", -1)
str = strings.Replace(str, "-", "/", -1)
str = strings.Replace(str, "*", "+", -1)
return base64.StdEncoding.DecodeString(str)
}
This diff is collapsed.
...@@ -3,24 +3,27 @@ package trtc ...@@ -3,24 +3,27 @@ package trtc
import ( import (
"crypto/hmac" "crypto/hmac"
"crypto/sha256" "crypto/sha256"
"encoding/base64"
"encoding/hex" "encoding/hex"
"fmt" "fmt"
"git.hilo.cn/hilo-common/mylogrus" "git.hilo.cn/hilo-common/mylogrus"
"time"
) )
//创建群组的TRTC通道,token有效时长:一个星期 //创建群组的TRTC通道,token有效时长:一个星期
func CreateGroupTRTCUserSig(uid uint64) string { func CreateGroupTRTCUserSig(uid uint64) string {
appId := "1400548270" appId := 1400548270
appSecret := "321bd60f73096b059c7350f1cd97d51028850b34fa58c5c0d26bb4a19e783de8" appSecret := "321bd60f73096b059c7350f1cd97d51028850b34fa58c5c0d26bb4a19e783de8"
expireTimeInSeconds := uint32(60 * 60 * 24 * 7) //一个星期 expireTimeInSeconds := 60 * 60 * 24 * 7 //一个星期
nowTime := time.Now() //nowTime := time.Now()
base64Str := base64.StdEncoding.EncodeToString([]byte(fmt.Sprintf("%d\n%v\n%v\n%v", uid, appId, nowTime.Unix(), expireTimeInSeconds))) //base64Str := base64.StdEncoding.EncodeToString([]byte(fmt.Sprintf("%d\n%v\n%v\n%v", uid, appId, nowTime.Unix(), expireTimeInSeconds)))
userSig := hmacSha256(fmt.Sprintf("%d\n%v\n%v\n%v\n%v", uid, appId, nowTime.Unix(), expireTimeInSeconds, base64Str), appSecret) //userSig := hmacSha256(fmt.Sprintf("%d\n%v\n%v\n%v\n%v", uid, appId, nowTime.Unix(), expireTimeInSeconds, base64Str), appSecret)
mylogrus.MyLog.Infof("CreateGroupTRTCUserSig uid:%d, token:%s", uid, userSig)
return userSig sig, err := GenUserSig(appId, appSecret, fmt.Sprintf("%s", uid), expireTimeInSeconds)
if err != nil {
mylogrus.MyLog.Errorf("CreateGroupTRTCUserSig uid:%d, err:%v", uid, err)
}
mylogrus.MyLog.Infof("CreateGroupTRTCUserSig uid:%d, token:%s", uid, sig)
return sig
} }
func hmacSha256(data string, secret string) string { func hmacSha256(data string, secret string) string {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment