Browse Source

change base64 encoding

master
Nicolas Massé 6 years ago
parent
commit
b2580aaf5f
  1. 4
      main.go
  2. 4
      token.go
  3. 2
      token_test.go

4
main.go

@ -55,8 +55,8 @@ func initConfig() {
viper.SetDefault("WebInterface.Listen", "127.0.0.1:8080")
viper.SetDefault("WebInterface.Sessions.SecureCookie", true)
viper.SetDefault("WebInterface.Sessions.CookieMaxAge", 86400*7)
viper.SetDefault("Telegram.TokenGenerator.GlobalValidity", 1)
viper.SetDefault("Telegram.TokenGenerator.PerAlbumValidity", 7)
viper.SetDefault("Telegram.TokenGenerator.GlobalValidity", 7)
viper.SetDefault("Telegram.TokenGenerator.PerAlbumValidity", 15)
viper.SetConfigName("photo-bot") // name of config file (without extension)
viper.AddConfigPath("/etc/photo-bot/")

4
token.go

@ -40,7 +40,7 @@ func (g *TokenGenerator) NewToken(data TokenData) string {
//fmt.Println(hex.EncodeToString(hash))
return base64.StdEncoding.EncodeToString(hash)
return base64.RawURLEncoding.EncodeToString(hash)
}
func getBufferFor(data TokenData) []byte {
@ -69,7 +69,7 @@ func getBufferFor(data TokenData) []byte {
}
func (g *TokenGenerator) ValidateToken(data TokenData, token string, validity int) (bool, error) {
rawToken, err := base64.StdEncoding.DecodeString(token)
rawToken, err := base64.RawURLEncoding.DecodeString(token)
if err != nil {
return false, err
}

2
token_test.go

@ -25,7 +25,7 @@ func TestTokenGenerator(t *testing.T) {
token := g.NewToken(TokenData{now, "nmasse", "read"})
// echo "000000: 021d 0000 6e6d 6173 7365 0072 6561 64" |xxd -r | openssl dgst -sha256 -mac HMAC -macopt "hexkey:$KEY" -binary |openssl base64
expectedToken := "McChidYyEfEPkotTq08EW+eYHjd2QX+wlUzgGjOhWlY="
expectedToken := "McChidYyEfEPkotTq08EW-eYHjd2QX-wlUzgGjOhWlY"
assert.Equal(t, token, expectedToken, "expected a valid token")
sixDaysLater := time.Unix(1589221922, 0)

Loading…
Cancel
Save