mirror of https://github.com/dapr/go-sdk.git
auth support for when DAPR_API_TOKEN env is defined
This commit is contained in:
parent
b310b9061f
commit
05a6fd2940
|
@ -21,7 +21,7 @@ func (c *Client) InvokeBinding(ctx context.Context, name, op string, in []byte,
|
|||
Metadata: meta,
|
||||
}
|
||||
|
||||
_, err := c.protoClient.InvokeBinding(ctx, envelop)
|
||||
_, err := c.protoClient.InvokeBinding(authContext(ctx), envelop)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "error invoking binding %s", name)
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@ import (
|
|||
|
||||
"github.com/pkg/errors"
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/metadata"
|
||||
|
||||
pb "github.com/dapr/go-sdk/dapr/proto/runtime/v1"
|
||||
)
|
||||
|
@ -63,3 +64,12 @@ func (c *Client) Close(ctx context.Context) {
|
|||
c.connection.Close()
|
||||
}
|
||||
}
|
||||
|
||||
func authContext(ctx context.Context) context.Context {
|
||||
token := os.Getenv("DAPR_API_TOKEN")
|
||||
if token == "" {
|
||||
return ctx
|
||||
}
|
||||
md := metadata.Pairs("dapr-api-token", token)
|
||||
return metadata.NewOutgoingContext(ctx, md)
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@ func (c *Client) InvokeService(ctx context.Context, serviceID, method string, in
|
|||
return nil, errors.New("nil method")
|
||||
}
|
||||
|
||||
resp, err := c.protoClient.InvokeService(ctx, &pb.InvokeServiceRequest{
|
||||
resp, err := c.protoClient.InvokeService(authContext(ctx), &pb.InvokeServiceRequest{
|
||||
Id: serviceID,
|
||||
Message: &v1.InvokeRequest{
|
||||
Method: method,
|
||||
|
|
|
@ -19,7 +19,7 @@ func (c *Client) PublishEvent(ctx context.Context, topic string, in []byte) erro
|
|||
Data: in,
|
||||
}
|
||||
|
||||
_, err := c.protoClient.PublishEvent(ctx, envelop)
|
||||
_, err := c.protoClient.PublishEvent(authContext(ctx), envelop)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "error publishing event unto %s topic", topic)
|
||||
}
|
||||
|
|
|
@ -28,7 +28,7 @@ func (c *Client) SaveState(ctx context.Context, store, key string, in []byte) er
|
|||
},
|
||||
}
|
||||
|
||||
_, err := c.protoClient.SaveState(ctx, envelop)
|
||||
_, err := c.protoClient.SaveState(authContext(ctx), envelop)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "error saving state into %s", store)
|
||||
}
|
||||
|
@ -42,7 +42,7 @@ func (c *Client) SaveStateJSON(ctx context.Context, store, key string, in interf
|
|||
if err != nil {
|
||||
return errors.Wrap(err, "error marshaling content")
|
||||
}
|
||||
return c.SaveState(ctx, store, key, b)
|
||||
return c.SaveState(authContext(ctx), store, key, b)
|
||||
}
|
||||
|
||||
// GetState is the message to get key-value states from specific state store
|
||||
|
@ -58,7 +58,7 @@ func (c *Client) GetState(ctx context.Context, store, key string) (out []byte, e
|
|||
Key: key,
|
||||
}
|
||||
|
||||
result, err := c.protoClient.GetState(ctx, envelop)
|
||||
result, err := c.protoClient.GetState(authContext(ctx), envelop)
|
||||
if err != nil {
|
||||
return nil, errors.Wrapf(err, "error getting state from %s for %s key", store, key)
|
||||
}
|
||||
|
@ -79,7 +79,7 @@ func (c *Client) DeleteState(ctx context.Context, store, key string) error {
|
|||
Key: key,
|
||||
}
|
||||
|
||||
_, err := c.protoClient.DeleteState(ctx, envelop)
|
||||
_, err := c.protoClient.DeleteState(authContext(ctx), envelop)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "error deleting state from %s for %s key", store, key)
|
||||
}
|
||||
|
|
|
@ -47,7 +47,7 @@ func (s *server) MyMethod() string {
|
|||
func (s *server) OnInvoke(ctx context.Context, in *commonv1pb.InvokeRequest) (*commonv1pb.InvokeResponse, error) {
|
||||
var response string
|
||||
|
||||
fmt.Println(fmt.Sprintf("Got invoked with: %s", string(in.Data.Value)))
|
||||
fmt.Printf("Got invoked with: %s", string(in.Data.Value))
|
||||
|
||||
switch in.Method {
|
||||
case "MyMethod":
|
||||
|
|
Loading…
Reference in New Issue