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,
|
Metadata: meta,
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err := c.protoClient.InvokeBinding(ctx, envelop)
|
_, err := c.protoClient.InvokeBinding(authContext(ctx), envelop)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.Wrapf(err, "error invoking binding %s", name)
|
return errors.Wrapf(err, "error invoking binding %s", name)
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@ import (
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"google.golang.org/grpc"
|
"google.golang.org/grpc"
|
||||||
|
"google.golang.org/grpc/metadata"
|
||||||
|
|
||||||
pb "github.com/dapr/go-sdk/dapr/proto/runtime/v1"
|
pb "github.com/dapr/go-sdk/dapr/proto/runtime/v1"
|
||||||
)
|
)
|
||||||
|
@ -63,3 +64,12 @@ func (c *Client) Close(ctx context.Context) {
|
||||||
c.connection.Close()
|
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")
|
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,
|
Id: serviceID,
|
||||||
Message: &v1.InvokeRequest{
|
Message: &v1.InvokeRequest{
|
||||||
Method: method,
|
Method: method,
|
||||||
|
|
|
@ -19,7 +19,7 @@ func (c *Client) PublishEvent(ctx context.Context, topic string, in []byte) erro
|
||||||
Data: in,
|
Data: in,
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err := c.protoClient.PublishEvent(ctx, envelop)
|
_, err := c.protoClient.PublishEvent(authContext(ctx), envelop)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.Wrapf(err, "error publishing event unto %s topic", topic)
|
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 {
|
if err != nil {
|
||||||
return errors.Wrapf(err, "error saving state into %s", store)
|
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 {
|
if err != nil {
|
||||||
return errors.Wrap(err, "error marshaling content")
|
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
|
// 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,
|
Key: key,
|
||||||
}
|
}
|
||||||
|
|
||||||
result, err := c.protoClient.GetState(ctx, envelop)
|
result, err := c.protoClient.GetState(authContext(ctx), envelop)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errors.Wrapf(err, "error getting state from %s for %s key", store, key)
|
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,
|
Key: key,
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err := c.protoClient.DeleteState(ctx, envelop)
|
_, err := c.protoClient.DeleteState(authContext(ctx), envelop)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.Wrapf(err, "error deleting state from %s for %s key", store, key)
|
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) {
|
func (s *server) OnInvoke(ctx context.Context, in *commonv1pb.InvokeRequest) (*commonv1pb.InvokeResponse, error) {
|
||||||
var response string
|
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 {
|
switch in.Method {
|
||||||
case "MyMethod":
|
case "MyMethod":
|
||||||
|
|
Loading…
Reference in New Issue