// resetAuth reset auth keys for a user func resetAuth(args *AuthArgs, reply *AuthRep) *probe.Error { config, err := auth.LoadConfig() if err != nil { return err.Trace() } if _, ok := config.Users[args.User]; !ok { return probe.NewError(errors.New("User not found")) } accessKeyID, err := auth.GenerateAccessKeyID() if err != nil { return err.Trace() } reply.AccessKeyID = string(accessKeyID) secretAccessKey, err := auth.GenerateSecretAccessKey() if err != nil { return err.Trace() } reply.SecretAccessKey = string(secretAccessKey) reply.Name = args.User config.Users[args.User] = &auth.User{ Name: args.User, AccessKeyID: string(accessKeyID), SecretAccessKey: string(secretAccessKey), } return auth.SaveConfig(config).Trace() }
func (s *GoofysTest) setupMinio(t *C, addr string) (accessKey string, secretKey string) { accessKeyID, perr := auth.GenerateAccessKeyID() t.Assert(perr, IsNil) secretAccessKey, perr := auth.GenerateSecretAccessKey() t.Assert(perr, IsNil) accessKey = string(accessKeyID) secretKey = string(secretAccessKey) authConf := &auth.Config{} authConf.Users = make(map[string]*auth.User) authConf.Users[string(accessKeyID)] = &auth.User{ Name: "testuser", AccessKeyID: accessKey, SecretAccessKey: secretKey, } auth.SetAuthConfigPath(filepath.Join(t.MkDir(), "users.json")) perr = auth.SaveConfig(authConf) t.Assert(perr, IsNil) go server.Start(api.Config{Address: addr}) err := s.waitFor(t, addr) t.Assert(err, IsNil) return }
func getAuth(reply *AuthReply) *probe.Error { accessID, err := auth.GenerateAccessKeyID() if err != nil { return err.Trace() } reply.AccessKeyID = string(accessID) secretID, err := auth.GenerateSecretAccessKey() if err != nil { return err.Trace() } reply.SecretAccessKey = string(secretID) return nil }
func (s *MySuite) TestAuth(c *C) { secretID, err := auth.GenerateSecretAccessKey() c.Assert(err, IsNil) accessID, err := auth.GenerateAccessKeyID() c.Assert(err, IsNil) c.Assert(len(secretID), Equals, auth.MinioSecretID) c.Assert(len(accessID), Equals, auth.MinioAccessID) c.Log(string(secretID)) c.Log(string(accessID)) }
// generateAuth generate new auth keys for a user func generateAuth(args *AuthArgs, reply *AuthRep) *probe.Error { config, err := auth.LoadConfig() if err != nil { if os.IsNotExist(err.ToGoError()) { // Initialize new config, since config file doesn't exist yet config = &auth.Config{} config.Version = "0.0.1" config.Users = make(map[string]*auth.User) } else { return err.Trace() } } if _, ok := config.Users[args.User]; ok { return probe.NewError(errors.New("Credentials already set, if you wish to change this invoke Reset() method")) } accessKeyID, err := auth.GenerateAccessKeyID() if err != nil { return err.Trace() } reply.AccessKeyID = string(accessKeyID) secretAccessKey, err := auth.GenerateSecretAccessKey() if err != nil { return err.Trace() } reply.SecretAccessKey = string(secretAccessKey) reply.Name = args.User config.Users[args.User] = &auth.User{ Name: args.User, AccessKeyID: string(accessKeyID), SecretAccessKey: string(secretAccessKey), } if err := auth.SaveConfig(config); err != nil { return err.Trace() } return nil }
func (s *MyAPISignatureV4Suite) SetUpSuite(c *C) { root, err := ioutil.TempDir(os.TempDir(), "api-") c.Assert(err, IsNil) s.root = root conf := &donut.Config{} conf.Version = "0.0.1" conf.DonutName = "test" conf.NodeDiskMap = createTestNodeDiskMap(root) conf.MaxSize = 100000 donut.SetDonutConfigPath(filepath.Join(root, "donut.json")) perr := donut.SaveConfig(conf) c.Assert(perr, IsNil) accessKeyID, perr := auth.GenerateAccessKeyID() c.Assert(perr, IsNil) secretAccessKey, perr := auth.GenerateSecretAccessKey() c.Assert(perr, IsNil) authConf := &auth.Config{} authConf.Users = make(map[string]*auth.User) authConf.Users[string(accessKeyID)] = &auth.User{ Name: "testuser", AccessKeyID: string(accessKeyID), SecretAccessKey: string(secretAccessKey), } s.accessKeyID = string(accessKeyID) s.secretAccessKey = string(secretAccessKey) auth.SetAuthConfigPath(root) perr = auth.SaveConfig(authConf) c.Assert(perr, IsNil) minioAPI := getNewAPI() httpHandler := getAPIHandler(minioAPI) go startTM(minioAPI) testSignatureV4Server = httptest.NewServer(httpHandler) }