问题描述
k8s api-server解析websocket的base64的token报错:
Unable to authenticate the request due to an error: invalid base64.bearer.authorization token encoding
然后我尝试go代码解析我的base64的token值:
decodedToken, err := base64.RawURLEncoding.DecodeString(encodedToken)
fmt.Println(decodedToken)
if err != nil {
fmt.Println(err)
}
然后果然解析报错了,报错打印如下:
illegal base64 data at input byte 1230
问题解决
后来发下base64的token值中最后包含:“=”等于号,导致上述go解析报错,导致apiserver解析token失败,将base64的token值中最后面的“=”号删掉, 问题得到解决~
=========================================================
这个报错浪费了一上午时间,感觉挺莫名其妙的,因为正常用linux base64 编码token就是最后就会产生等于号,但是go解析这个包含等于号的base64 的token就过不去。。。