Move LoginHandler into LoginServer which others embed (#3431)

* Move LoginHandler into LoginServer which others embed

* Add unit tests for loginServer
This commit is contained in:
Krishnan Parthasarathi
2016-12-12 21:41:23 +05:30
committed by Harshavardhana
parent 2d6f8153fa
commit 6b4e6bcebf
6 changed files with 112 additions and 60 deletions

View File

@@ -29,32 +29,12 @@ import (
// Storage server implements rpc primitives to facilitate exporting a
// disk over a network.
type storageServer struct {
loginServer
storage StorageAPI
path string
timestamp time.Time
}
/// Auth operations
// Login - login handler.
func (s *storageServer) LoginHandler(args *RPCLoginArgs, reply *RPCLoginReply) error {
jwt, err := newJWT(defaultInterNodeJWTExpiry, serverConfig.GetCredential())
if err != nil {
return err
}
if err = jwt.Authenticate(args.Username, args.Password); err != nil {
return err
}
token, err := jwt.GenerateToken(args.Username)
if err != nil {
return err
}
reply.Token = token
reply.Timestamp = time.Now().UTC()
reply.ServerVersion = Version
return nil
}
/// Storage operations handlers.
// DiskInfoHandler - disk info handler is rpc wrapper for DiskInfo operation.