verify token file
This commit is contained in:
@@ -62,11 +62,17 @@ func NewCSV(path string) (*TokenAuthenticator, error) {
|
|||||||
if len(record) < 3 {
|
if len(record) < 3 {
|
||||||
return nil, fmt.Errorf("token file '%s' must have at least 3 columns (token, user name, user uid), found %d", path, len(record))
|
return nil, fmt.Errorf("token file '%s' must have at least 3 columns (token, user name, user uid), found %d", path, len(record))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
recordNum++
|
||||||
|
if record[0] == "" {
|
||||||
|
glog.Warningf("empty token has been found in token file '%s', record number '%d'", path, recordNum)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
obj := &user.DefaultInfo{
|
obj := &user.DefaultInfo{
|
||||||
Name: record[1],
|
Name: record[1],
|
||||||
UID: record[2],
|
UID: record[2],
|
||||||
}
|
}
|
||||||
recordNum++
|
|
||||||
if _, exist := tokens[record[0]]; exist {
|
if _, exist := tokens[record[0]]; exist {
|
||||||
glog.Warningf("duplicate token has been found in token file '%s', record number '%d'", path, recordNum)
|
glog.Warningf("duplicate token has been found in token file '%s', record number '%d'", path, recordNum)
|
||||||
}
|
}
|
||||||
|
@@ -125,6 +125,16 @@ func TestInsufficientColumnsTokenFile(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestEmptyTokenTokenFile(t *testing.T) {
|
||||||
|
auth, err := newWithContents(t, ",user5,uid5\n")
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("unexpected error %v", err)
|
||||||
|
}
|
||||||
|
if len(auth.tokens) != 0 {
|
||||||
|
t.Fatalf("empty token should not be recorded")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func newWithContents(t *testing.T, contents string) (auth *TokenAuthenticator, err error) {
|
func newWithContents(t *testing.T, contents string) (auth *TokenAuthenticator, err error) {
|
||||||
f, err := ioutil.TempFile("", "tokenfile_test")
|
f, err := ioutil.TempFile("", "tokenfile_test")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Reference in New Issue
Block a user