auth: pass namespace options in auth service requests (#1800)
* auth: pass namespace options in auth service requests * auth/service/proto: update field index Co-authored-by: Asim Aslam <asim@aslam.me>
This commit is contained in:
		@@ -56,6 +56,9 @@ func (s *svc) Generate(id string, opts ...auth.GenerateOption) (*auth.Account, e
 | 
			
		||||
		Scopes:   options.Scopes,
 | 
			
		||||
		Metadata: options.Metadata,
 | 
			
		||||
		Provider: options.Provider,
 | 
			
		||||
		Options: &pb.Options{
 | 
			
		||||
			Namespace: s.Options().Issuer,
 | 
			
		||||
		},
 | 
			
		||||
	}, s.callOpts()...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
@@ -85,6 +88,9 @@ func (s *svc) Grant(rule *auth.Rule) error {
 | 
			
		||||
				Endpoint: rule.Resource.Endpoint,
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
		Options: &pb.Options{
 | 
			
		||||
			Namespace: s.Options().Issuer,
 | 
			
		||||
		},
 | 
			
		||||
	}, s.callOpts()...)
 | 
			
		||||
 | 
			
		||||
	return err
 | 
			
		||||
@@ -93,7 +99,9 @@ func (s *svc) Grant(rule *auth.Rule) error {
 | 
			
		||||
// Revoke access to a resource
 | 
			
		||||
func (s *svc) Revoke(rule *auth.Rule) error {
 | 
			
		||||
	_, err := s.rules.Delete(context.TODO(), &pb.DeleteRequest{
 | 
			
		||||
		Id: rule.ID,
 | 
			
		||||
		Id: rule.ID, Options: &pb.Options{
 | 
			
		||||
			Namespace: s.Options().Issuer,
 | 
			
		||||
		},
 | 
			
		||||
	}, s.callOpts()...)
 | 
			
		||||
 | 
			
		||||
	return err
 | 
			
		||||
@@ -107,9 +115,14 @@ func (s *svc) Rules(opts ...auth.RulesOption) ([]*auth.Rule, error) {
 | 
			
		||||
	if options.Context == nil {
 | 
			
		||||
		options.Context = context.TODO()
 | 
			
		||||
	}
 | 
			
		||||
	if len(options.Namespace) == 0 {
 | 
			
		||||
		options.Namespace = s.options.Issuer
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	callOpts := append(s.callOpts(), client.WithCache(time.Second*30))
 | 
			
		||||
	rsp, err := s.rules.List(options.Context, &pb.ListRequest{}, callOpts...)
 | 
			
		||||
	rsp, err := s.rules.List(options.Context, &pb.ListRequest{
 | 
			
		||||
		Options: &pb.Options{Namespace: options.Namespace},
 | 
			
		||||
	}, callOpts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
@@ -129,7 +142,10 @@ func (s *svc) Verify(acc *auth.Account, res *auth.Resource, opts ...auth.VerifyO
 | 
			
		||||
		o(&options)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	rs, err := s.Rules(auth.RulesContext(options.Context))
 | 
			
		||||
	rs, err := s.Rules(
 | 
			
		||||
		auth.RulesContext(options.Context),
 | 
			
		||||
		auth.RulesNamespace(options.Namespace),
 | 
			
		||||
	)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
@@ -146,7 +162,9 @@ func (s *svc) Inspect(token string) (*auth.Account, error) {
 | 
			
		||||
 | 
			
		||||
	// the token is not a JWT or we do not have the keys to decode it,
 | 
			
		||||
	// fall back to the auth service
 | 
			
		||||
	rsp, err := s.auth.Inspect(context.TODO(), &pb.InspectRequest{Token: token}, s.callOpts()...)
 | 
			
		||||
	rsp, err := s.auth.Inspect(context.TODO(), &pb.InspectRequest{
 | 
			
		||||
		Token: token, Options: &pb.Options{Namespace: s.Options().Issuer},
 | 
			
		||||
	}, s.callOpts()...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
@@ -162,6 +180,9 @@ func (s *svc) Token(opts ...auth.TokenOption) (*auth.Token, error) {
 | 
			
		||||
		Secret:       options.Secret,
 | 
			
		||||
		RefreshToken: options.RefreshToken,
 | 
			
		||||
		TokenExpiry:  int64(options.Expiry.Seconds()),
 | 
			
		||||
		Options: &pb.Options{
 | 
			
		||||
			Namespace: s.Options().Issuer,
 | 
			
		||||
		},
 | 
			
		||||
	}, s.callOpts()...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user