Fix service => service namespace bug

This commit is contained in:
Ben Toogood 2020-05-21 11:35:07 +01:00
parent 344ce061ce
commit 287992cef3
3 changed files with 7 additions and 4 deletions

View File

@ -31,7 +31,6 @@ func Verify(namespace string, rules []*auth.Rule, acc *auth.Account, res *auth.R
// filter the rules to the ones which match the criteria above // filter the rules to the ones which match the criteria above
filteredRules := make([]*auth.Rule, 0) filteredRules := make([]*auth.Rule, 0)
for _, rule := range rules { for _, rule := range rules {
fmt.Printf("All rules: %v\n", rule.ID)
if !include(validTypes, rule.Resource.Type) { if !include(validTypes, rule.Resource.Type) {
continue continue
} }

View File

@ -30,7 +30,7 @@ func Generate(id string, name string, a auth.Auth) error {
if err != nil { if err != nil {
return err return err
} }
logger.Infof("Auth [%v] Authenticated as %v in the %v scope", a, name, scope) logger.Infof("Auth [%v] Authenticated as %v in the %v namespace", a, name, a.Options().Namespace)
accID = acc.ID accID = acc.ID
accSecret = acc.Secret accSecret = acc.Secret

View File

@ -3,7 +3,6 @@ package wrapper
import ( import (
"context" "context"
"strings" "strings"
"time"
"github.com/micro/go-micro/v2/auth" "github.com/micro/go-micro/v2/auth"
"github.com/micro/go-micro/v2/client" "github.com/micro/go-micro/v2/client"
@ -156,9 +155,14 @@ func (a *authWrapper) Call(ctx context.Context, req client.Request, rsp interfac
return a.Client.Call(ctx, req, rsp, opts...) return a.Client.Call(ctx, req, rsp, opts...)
} }
// set the namespace header if it has not been set (e.g. on a service to service request)
if _, ok := metadata.Get(ctx, "Micro-Namespace"); !ok {
ctx = metadata.Set(ctx, "Micro-Namespace", aa.Options().Namespace)
}
// check to see if we have a valid access token // check to see if we have a valid access token
aaOpts := aa.Options() aaOpts := aa.Options()
if aaOpts.Token != nil && aaOpts.Token.Expiry.Unix() > time.Now().Unix() { if aaOpts.Token != nil && !aaOpts.Token.Expired() {
ctx = metadata.Set(ctx, "Authorization", auth.BearerScheme+aaOpts.Token.AccessToken) ctx = metadata.Set(ctx, "Authorization", auth.BearerScheme+aaOpts.Token.AccessToken)
return a.Client.Call(ctx, req, rsp, opts...) return a.Client.Call(ctx, req, rsp, opts...)
} }