Fix auth bug
This commit is contained in:
		
							
								
								
									
										23
									
								
								service.go
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								service.go
									
									
									
									
									
								
							| @@ -53,6 +53,12 @@ func newService(opts ...Option) Service { | |||||||
| 		server.WrapHandler(wrapper.AuthHandler(authFn)), | 		server.WrapHandler(wrapper.AuthHandler(authFn)), | ||||||
| 	) | 	) | ||||||
|  |  | ||||||
|  | 	// set the client in the service implementations | ||||||
|  | 	options.Auth.Init(auth.WithClient(options.Client)) | ||||||
|  | 	options.Registry.Init(registrySrv.WithClient(options.Client)) | ||||||
|  | 	options.Runtime.Init(runtime.WithClient(options.Client)) | ||||||
|  | 	options.Store.Init(store.WithClient(options.Client)) | ||||||
|  |  | ||||||
| 	// set opts | 	// set opts | ||||||
| 	service.opts = options | 	service.opts = options | ||||||
|  |  | ||||||
| @@ -116,7 +122,10 @@ func (s *service) Init(opts ...Option) { | |||||||
| 		name := s.opts.Cmd.App().Name | 		name := s.opts.Cmd.App().Name | ||||||
| 		s.opts.Store.Init(store.Table(name)) | 		s.opts.Store.Init(store.Table(name)) | ||||||
|  |  | ||||||
| 		// Set the client for the micro clients | 		// Reset the clients for the micro services, this is done | ||||||
|  | 		// previously in newService for micro (since init is never called) | ||||||
|  | 		// however it needs to be done again here since for normal go-micro | ||||||
|  | 		// services the implementation may have changed by CLI flags. | ||||||
| 		s.opts.Auth.Init(auth.WithClient(s.Client())) | 		s.opts.Auth.Init(auth.WithClient(s.Client())) | ||||||
| 		s.opts.Registry.Init(registrySrv.WithClient(s.Client())) | 		s.opts.Registry.Init(registrySrv.WithClient(s.Client())) | ||||||
| 		s.opts.Runtime.Init(runtime.WithClient(s.Client())) | 		s.opts.Runtime.Init(runtime.WithClient(s.Client())) | ||||||
| @@ -183,6 +192,11 @@ func (s *service) Stop() error { | |||||||
| } | } | ||||||
|  |  | ||||||
| func (s *service) Run() error { | func (s *service) Run() error { | ||||||
|  | 	// generate an auth account | ||||||
|  | 	if err := s.generateAccount(); err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	// register the debug handler | 	// register the debug handler | ||||||
| 	s.opts.Server.Handle( | 	s.opts.Server.Handle( | ||||||
| 		s.opts.Server.NewHandler( | 		s.opts.Server.NewHandler( | ||||||
| @@ -208,11 +222,6 @@ func (s *service) Run() error { | |||||||
| 		logger.Infof("Starting [service] %s", s.Name()) | 		logger.Infof("Starting [service] %s", s.Name()) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	// generate an auth account |  | ||||||
| 	if err := s.registerAuthAccount(); err != nil { |  | ||||||
| 		return err |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	if err := s.Start(); err != nil { | 	if err := s.Start(); err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
| @@ -232,7 +241,7 @@ func (s *service) Run() error { | |||||||
| 	return s.Stop() | 	return s.Stop() | ||||||
| } | } | ||||||
|  |  | ||||||
| func (s *service) registerAuthAccount() error { | func (s *service) generateAccount() error { | ||||||
| 	// generate a new auth account for the service | 	// generate a new auth account for the service | ||||||
| 	name := fmt.Sprintf("%v-%v", s.Name(), s.Server().Options().Id) | 	name := fmt.Sprintf("%v-%v", s.Name(), s.Server().Options().Id) | ||||||
| 	opts := []auth.GenerateOption{ | 	opts := []auth.GenerateOption{ | ||||||
|   | |||||||
| @@ -134,7 +134,6 @@ func (m *memoryStore) Close() error { | |||||||
| } | } | ||||||
|  |  | ||||||
| func (m *memoryStore) Init(opts ...store.Option) error { | func (m *memoryStore) Init(opts ...store.Option) error { | ||||||
| 	m.store.Flush() |  | ||||||
| 	for _, o := range opts { | 	for _, o := range opts { | ||||||
| 		o(&m.options) | 		o(&m.options) | ||||||
| 	} | 	} | ||||||
|   | |||||||
| @@ -248,7 +248,7 @@ func basictest(s store.Store, t *testing.T) { | |||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	s.Init() | 	s.Close() // reset the store | ||||||
| 	for i := 0; i < 10; i++ { | 	for i := 0; i < 10; i++ { | ||||||
| 		s.Write(&store.Record{ | 		s.Write(&store.Record{ | ||||||
| 			Key:   fmt.Sprintf("a%d", i), | 			Key:   fmt.Sprintf("a%d", i), | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user