From 5aa584f5bdb2a439e9573a352a0e3b711f62b41c Mon Sep 17 00:00:00 2001 From: Gabe Cohen Date: Sun, 3 Apr 2022 10:40:23 -0700 Subject: [PATCH 1/6] update to ssi sdk --- README.md | 4 ++-- go.mod | 5 +---- go.sum | 4 ++-- pkg/server/router/did.go | 2 +- pkg/service/did/key.go | 2 +- pkg/service/did/models.go | 4 ++-- pkg/service/did/storage/storage.go | 2 +- 7 files changed, 10 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index a95aaa3da..be011d169 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ The Self Sovereign Identity Service (SSIS) facilitates all things relating to [D and [Verifiable Credentials](https://www.w3.org/TR/vc-data-model) -- in a box! The service is a part of a larger Decentralized Web Platform architecture which you can learn more about in our [collaboration repo](https://github.com/TBD54566975/collaboration). The SSI Service is a RESTful web service that -wraps the [did-sdk](https://github.com/TBD54566975/did-sdk). The core functionality of the SSIS includes, +wraps the [ssi-sdk](https://github.com/TBD54566975/ssi-sdk). The core functionality of the SSIS includes, but is not limited to: interacting with the standards around Verifiable Credentials, Credential Revocations, requesting Credentials, exchanging Credentials, data schemas for Credentials and other verifiable data, messaging using Decentralized Web Nodes, and usage of Decentralized Identifiers. Using these core standards, the SSIS enables robust @@ -36,7 +36,7 @@ environments. It may be expanded to support multiple protocols and transports be ## Design Thinking -The design of the service, at present, assumes it will be run by a single organization. Further design work is needed +The design of the service, at present, assumes it will be run by a single organization. Additional design work is needed around authentication and authorization schemes to access the service and its functionalities, possible User Interfaces to use the service, and much more! diff --git a/go.mod b/go.mod index 95d7475e1..5632718dc 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,6 @@ module github.com/tbd54566975/ssi-service go 1.17 require ( - github.com/TBD54566975/did-sdk v0.0.0-20220330042841-cde17eb1a120 github.com/ardanlabs/conf v1.4.0 github.com/boltdb/bolt v1.3.1 github.com/dimfeld/httptreemux/v5 v5.4.0 @@ -17,9 +16,7 @@ require ( go.opentelemetry.io/otel/trace v1.3.0 golang.org/x/crypto v0.0.0-20220331220935-ae2d96664a29 gopkg.in/go-playground/validator.v9 v9.31.0 -) - -require ( + github.com/TBD54566975/ssi-sdk v0.0.0-20220403173431-39ff8ebd3825 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 // indirect github.com/go-playground/validator/v10 v10.10.0 // indirect diff --git a/go.sum b/go.sum index c834a8059..4b89f3c7c 100644 --- a/go.sum +++ b/go.sum @@ -39,8 +39,8 @@ cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9 dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/TBD54566975/did-sdk v0.0.0-20220330042841-cde17eb1a120 h1:kJ7bubdIo3ZAEMP5/VVfbfL0IAibv6di7ylCn6gmqPg= -github.com/TBD54566975/did-sdk v0.0.0-20220330042841-cde17eb1a120/go.mod h1:nEqNw1weS82onBxbkczwh1KoVl1IJYKibEi8jh1qSQw= +github.com/TBD54566975/ssi-sdk v0.0.0-20220403173431-39ff8ebd3825 h1:IRup2wdgV5IvPZKx+XlCbJVDy28Pa60rxdA147NuE5I= +github.com/TBD54566975/ssi-sdk v0.0.0-20220403173431-39ff8ebd3825/go.mod h1:6dpqc6LQ8EQVhZvrk1beTosnLqD5iR7jEorZHLpKUF0= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/ardanlabs/conf v1.4.0 h1:Nzi1Z5TBlwdNNYTSjfm26NL3C8kbVCZhEnJ7kiyONdY= github.com/ardanlabs/conf v1.4.0/go.mod h1:ILsMo9dMqYzCxDjDXTiwMI0IgxOJd0MOiucbQY2wlJw= diff --git a/pkg/server/router/did.go b/pkg/server/router/did.go index 155025f82..5959ebebe 100644 --- a/pkg/server/router/did.go +++ b/pkg/server/router/did.go @@ -3,7 +3,7 @@ package router import ( "context" "fmt" - "github.com/TBD54566975/did-sdk/crypto" + "github.com/TBD54566975/ssi-sdk/crypto" "github.com/tbd54566975/ssi-service/pkg/server/framework" "github.com/tbd54566975/ssi-service/pkg/service/did" svcframework "github.com/tbd54566975/ssi-service/pkg/service/framework" diff --git a/pkg/service/did/key.go b/pkg/service/did/key.go index bde1bda93..13c699e94 100644 --- a/pkg/service/did/key.go +++ b/pkg/service/did/key.go @@ -3,7 +3,7 @@ package did import ( "encoding/json" "fmt" - "github.com/TBD54566975/did-sdk/did" + "github.com/TBD54566975/ssi-sdk/did" "github.com/mr-tron/base58" "github.com/pkg/errors" "github.com/tbd54566975/ssi-service/pkg/service/did/storage" diff --git a/pkg/service/did/models.go b/pkg/service/did/models.go index 9019f22a8..f69599460 100644 --- a/pkg/service/did/models.go +++ b/pkg/service/did/models.go @@ -1,8 +1,8 @@ package did import ( - "github.com/TBD54566975/did-sdk/crypto" - sdkdid "github.com/TBD54566975/did-sdk/did" + "github.com/TBD54566975/ssi-sdk/crypto" + sdkdid "github.com/TBD54566975/ssi-sdk/did" ) // CreateDIDRequest is the SON-serializable request for creating a DID across DID methods diff --git a/pkg/service/did/storage/storage.go b/pkg/service/did/storage/storage.go index 71e42db72..2de509b0e 100644 --- a/pkg/service/did/storage/storage.go +++ b/pkg/service/did/storage/storage.go @@ -1,7 +1,7 @@ package storage import ( - "github.com/TBD54566975/did-sdk/did" + "github.com/TBD54566975/ssi-sdk/did" "github.com/pkg/errors" "github.com/tbd54566975/ssi-service/pkg/storage" ) From 21c01586350514031a0a6bf748676435e35c78c7 Mon Sep 17 00:00:00 2001 From: Gabe Cohen Date: Sun, 3 Apr 2022 10:41:57 -0700 Subject: [PATCH 2/6] update readme --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index be011d169..a3b1b41b0 100644 --- a/README.md +++ b/README.md @@ -26,13 +26,13 @@ environments. It may be expanded to support multiple protocols and transports be ## What's Supported? -- [] [DID Management](https://www.w3.org/TR/did-core/) -- [] [Verifiable Credential Schema](https://w3c-ccg.github.io/vc-json-schemas/v2/index.html) Management -- [] [Verifiable Credential](https://www.w3.org/TR/vc-data-model) Issuance & Verification -- [] Requesting, Receiving, and the Validation of Verifiable Claims using [Presentation Exchange](https://identity.foundation/presentation-exchange/) -- [] Applying for Verifiable Credentials using [Credential Manifest](https://identity.foundation/credential-manifest/) -- [] Revocations of Verifiable Credentials using the [Status List 2021](https://w3c-ccg.github.io/vc-status-list-2021/) -- [] [ID Hub](https://identity.foundation/identity-hub/spec/) Messaging +- [x] [DID Management](https://www.w3.org/TR/did-core/) +- [ ] [Verifiable Credential Schema](https://w3c-ccg.github.io/vc-json-schemas/v2/index.html) Management +- [ ] [Verifiable Credential](https://www.w3.org/TR/vc-data-model) Issuance & Verification +- [ ] Requesting, Receiving, and the Validation of Verifiable Claims using [Presentation Exchange](https://identity.foundation/presentation-exchange/) +- [ ] Applying for Verifiable Credentials using [Credential Manifest](https://identity.foundation/credential-manifest/) +- [ ] Revocations of Verifiable Credentials using the [Status List 2021](https://w3c-ccg.github.io/vc-status-list-2021/) +- [ ] [ID Hub](https://identity.foundation/identity-hub/spec/) Messaging ## Design Thinking From 11d02e7a05811dbc6517657564fb293fe4a06550 Mon Sep 17 00:00:00 2001 From: Gabe Cohen Date: Mon, 4 Apr 2022 19:32:52 -0700 Subject: [PATCH 3/6] config, did router test --- README.md | 1 + cmd/main.go | 37 ++++++++------ pkg/server/router/did.go | 4 ++ pkg/server/router/did_test.go | 94 +++++++++++++++++++++++++++++++++++ pkg/server/server.go | 11 ++-- pkg/service/did/did.go | 8 ++- pkg/service/did/key.go | 2 +- pkg/service/service.go | 11 +++- 8 files changed, 144 insertions(+), 24 deletions(-) create mode 100644 pkg/server/router/did_test.go diff --git a/README.md b/README.md index a3b1b41b0..1318c22cd 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,7 @@ environments. It may be expanded to support multiple protocols and transports be ## What's Supported? - [x] [DID Management](https://www.w3.org/TR/did-core/) + - Using [did:key](https://w3c-ccg.github.io/did-method-key/) - [ ] [Verifiable Credential Schema](https://w3c-ccg.github.io/vc-json-schemas/v2/index.html) Management - [ ] [Verifiable Credential](https://www.w3.org/TR/vc-data-model) Issuance & Verification - [ ] Requesting, Receiving, and the Validation of Verifiable Claims using [Presentation Exchange](https://identity.foundation/presentation-exchange/) diff --git a/cmd/main.go b/cmd/main.go index e0c26bfea..1ed940373 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -5,6 +5,7 @@ import ( "expvar" "fmt" "github.com/tbd54566975/ssi-service/pkg/server" + "github.com/tbd54566975/ssi-service/pkg/service" "log" "net/http" "os" @@ -24,29 +25,36 @@ const ( func main() { svcLog := log.New(os.Stdout, LogPrefix, log.LstdFlags|log.Lmicroseconds|log.Lshortfile) - svcLog.Println("Starting up") + svcLog.Println("Starting up...") if err := run(svcLog); err != nil { svcLog.Fatalf("main: error: %s", err.Error()) } } +type serverConfig struct { + conf.Version + Web *webConfig +} + +type webConfig struct { + APIHost string `conf:"default:0.0.0.0:3000"` + DebugHost string `conf:"default:0.0.0.0:4000"` + ReadTimeout time.Duration `conf:"default:5s"` + WriteTimeout time.Duration `conf:"default:5s"` + ShutdownTimeout time.Duration `conf:"default:5s"` +} + // startup and shutdown logic func run(log *log.Logger) error { - var cfg struct { - conf.Version - Web struct { - APIHost string `conf:"default:0.0.0.0:3000"` - DebugHost string `conf:"default:0.0.0.0:4000"` - ReadTimeout time.Duration `conf:"default:5s"` - WriteTimeout time.Duration `conf:"default:5s"` - ShutdownTimeout time.Duration `conf:"default:5s"` - } + cfg := serverConfig{ + Version: conf.Version{ + SVN: "2022.03.15", + Desc: "The Self Sovereign Identity Service", + }, + Web: new(webConfig), } - cfg.Version.SVN = "2022.03.15" - cfg.Version.Desc = "The Verifiable Credentials Service" - if err := conf.Parse(os.Args[1:], ServiceName, &cfg); err != nil { switch err { case conf.ErrHelpWanted: @@ -89,7 +97,8 @@ func run(log *log.Logger) error { shutdown := make(chan os.Signal, 1) signal.Notify(shutdown, os.Interrupt, syscall.SIGTERM) - ssiServer, err := server.NewSSIServer(shutdown, log) + serviceConfig := service.Config{Logger: log} + ssiServer, err := server.NewSSIServer(shutdown, serviceConfig) if err != nil { log.Fatalf("could not start http services: %s", err.Error()) } diff --git a/pkg/server/router/did.go b/pkg/server/router/did.go index 5959ebebe..4637567f3 100644 --- a/pkg/server/router/did.go +++ b/pkg/server/router/did.go @@ -4,6 +4,7 @@ import ( "context" "fmt" "github.com/TBD54566975/ssi-sdk/crypto" + "github.com/pkg/errors" "github.com/tbd54566975/ssi-service/pkg/server/framework" "github.com/tbd54566975/ssi-service/pkg/service/did" svcframework "github.com/tbd54566975/ssi-service/pkg/service/framework" @@ -24,6 +25,9 @@ type DIDRouter struct { // NewDIDRouter creates an HTP router for the DID Service func NewDIDRouter(s svcframework.Service, l *log.Logger) (*DIDRouter, error) { + if s == nil { + return nil, errors.New("service cannot be nil") + } didService, ok := s.(*did.Service) if !ok { return nil, fmt.Errorf("could not create DID router with service type: %s", s.Type()) diff --git a/pkg/server/router/did_test.go b/pkg/server/router/did_test.go new file mode 100644 index 000000000..7de6c2b7d --- /dev/null +++ b/pkg/server/router/did_test.go @@ -0,0 +1,94 @@ +package router + +import ( + "github.com/TBD54566975/ssi-sdk/crypto" + "github.com/stretchr/testify/assert" + "github.com/tbd54566975/ssi-service/pkg/service/did" + "github.com/tbd54566975/ssi-service/pkg/service/framework" + "github.com/tbd54566975/ssi-service/pkg/storage" + "log" + "os" + "testing" +) + +func TestDIDRouter(t *testing.T) { + + // remove the db file after the test + t.Cleanup(func() { + _ = os.Remove(storage.DBFile) + }) + + t.Run("Nil Service", func(tt *testing.T) { + didRouter, err := NewDIDRouter(nil, nil) + assert.Error(tt, err) + assert.Empty(tt, didRouter) + assert.Contains(tt, err.Error(), "service cannot be nil") + }) + + t.Run("Bad Service", func(tt *testing.T) { + didRouter, err := NewDIDRouter(&testService{}, nil) + assert.Error(tt, err) + assert.Empty(tt, didRouter) + assert.Contains(tt, err.Error(), "could not create DID router with service type: test") + }) + + t.Run("DID Service Test", func(tt *testing.T) { + bolt, err := storage.NewBoltDB() + assert.NoError(tt, err) + assert.NotEmpty(tt, bolt) + + didService, err := did.NewDIDService(log.New(os.Stdout, "ssi-test", log.LstdFlags), []did.Method{did.KeyMethod}, bolt) + assert.NoError(tt, err) + assert.NotEmpty(tt, didService) + + // check type and status + assert.Equal(tt, framework.DID, didService.Type()) + assert.Equal(tt, framework.StatusReady, didService.Status().Status) + + // get unknown handler + _, err = didService.GetHandler("bad") + assert.Error(tt, err) + assert.Contains(tt, err.Error(), "could not get handler for DID method: bad") + + supported := didService.GetSupportedMethods() + assert.NotEmpty(tt, supported) + assert.Len(tt, supported, 1) + assert.Equal(tt, did.KeyMethod, supported[0]) + + // get known handler + keyHandler, err := didService.GetHandler(did.KeyMethod) + assert.NoError(tt, err) + assert.NotEmpty(tt, keyHandler) + + // bad key type + _, err = keyHandler.CreateDID(did.CreateDIDRequest{KeyType: "bad"}) + assert.Error(tt, err) + assert.Contains(tt, err.Error(), "could not create did:key") + + // good key type + createDIDResponse, err := keyHandler.CreateDID(did.CreateDIDRequest{KeyType: crypto.Ed25519}) + assert.NoError(tt, err) + assert.NotEmpty(tt, createDIDResponse) + + // check the DID is a did:key + assert.Contains(tt, createDIDResponse.DID.ID, "did:key") + + // get it back + getDIDResponse, err := keyHandler.GetDID(createDIDResponse.DID.ID) + assert.NoError(tt, err) + assert.NotEmpty(tt, getDIDResponse) + + // make sure it's the same value + assert.Equal(tt, createDIDResponse.DID.ID, getDIDResponse.DID.ID) + }) +} + +type testService struct{} + +func (s *testService) Type() framework.Type { + return "test" +} + +func (s *testService) Status() framework.Status { + return framework.Status{Status: "ready"} +} diff --git a/pkg/server/server.go b/pkg/server/server.go index b2192f652..309175db8 100644 --- a/pkg/server/server.go +++ b/pkg/server/server.go @@ -29,10 +29,11 @@ type SSIServer struct { } // NewSSIServer does two things: instantiates all service and registers their HTTP bindings -func NewSSIServer(shutdown chan os.Signal, log *log.Logger) (*SSIServer, error) { +func NewSSIServer(shutdown chan os.Signal, config service.Config) (*SSIServer, error) { // creates an HTTP server from the framework, and wrap it to extend it for the SSIS - httpServer := framework.NewHTTPServer(shutdown, middleware.Logger(log), middleware.Errors(log), middleware.Metrics(), middleware.Panics(log)) - ssi, err := service.NewSSIService(log) + logger := config.Logger + httpServer := framework.NewHTTPServer(shutdown, middleware.Logger(logger), middleware.Errors(logger), middleware.Metrics(), middleware.Panics(logger)) + ssi, err := service.NewSSIService(config) if err != nil { return nil, err } @@ -40,12 +41,12 @@ func NewSSIServer(shutdown chan os.Signal, log *log.Logger) (*SSIServer, error) server := SSIServer{ Server: httpServer, SSIService: ssi, - Logger: log, + Logger: logger, } // service-level routers httpServer.Handle(http.MethodGet, "/health", router.Health) - httpServer.Handle(http.MethodGet, "/readiness", router.Readiness(services, log)) + httpServer.Handle(http.MethodGet, "/readiness", router.Readiness(services, logger)) // start all services and their routers log.Printf("Starting [%d] services...\n", len(services)) diff --git a/pkg/service/did/did.go b/pkg/service/did/did.go index 5446597e2..bfd70b7b9 100644 --- a/pkg/service/did/did.go +++ b/pkg/service/did/did.go @@ -64,7 +64,11 @@ func NewDIDService(log *log.Logger, methods []Method, s storage.ServiceStorage) if err != nil { return nil, errors.Wrap(err, "could not instantiate DID storage for DID service") } - svc := Service{storage: didStorage, handlers: make(map[Method]MethodHandler)} + svc := Service{ + storage: didStorage, + handlers: make(map[Method]MethodHandler), + log: log, + } // instantiate all handlers for DID methods for _, m := range methods { @@ -78,7 +82,7 @@ func NewDIDService(log *log.Logger, methods []Method, s storage.ServiceStorage) func (s *Service) instantiateHandlerForMethod(method Method) error { switch method { case KeyMethod: - handler, err := NewKeyDIDHandler(s.storage) + handler, err := newKeyDIDHandler(s.storage) if err != nil { return fmt.Errorf("could not instnatiate did:%s handler", KeyMethod) } diff --git a/pkg/service/did/key.go b/pkg/service/did/key.go index 13c699e94..ff90e916f 100644 --- a/pkg/service/did/key.go +++ b/pkg/service/did/key.go @@ -9,7 +9,7 @@ import ( "github.com/tbd54566975/ssi-service/pkg/service/did/storage" ) -func NewKeyDIDHandler(s storage.Storage) (MethodHandler, error) { +func newKeyDIDHandler(s storage.Storage) (MethodHandler, error) { return &keyDIDHandler{storage: s}, nil } diff --git a/pkg/service/service.go b/pkg/service/service.go index 22c8a1dad..54a9c35ae 100644 --- a/pkg/service/service.go +++ b/pkg/service/service.go @@ -8,6 +8,13 @@ import ( "log" ) +// Config TODO(gabe) per-service config +type Config struct { + Logger *log.Logger + Environment string `json:"environment,omitempty"` + Description string `json:"description,omitempty"` +} + // SSIService represents all services and their dependencies independent of transport type SSIService struct { services []framework.Service @@ -16,8 +23,8 @@ type SSIService struct { // NewSSIService creates a new instance of the SSIS which instantiates all services and their // dependencies independent of transport. // TODO(gabe) make service loading config-based -func NewSSIService(log *log.Logger) (*SSIService, error) { - services, err := instantiateServices(log) +func NewSSIService(config Config) (*SSIService, error) { + services, err := instantiateServices(config.Logger) if err != nil { errMsg := "could not instantiate the verifiable credentials service" log.Printf(errMsg) From bfa6795f66b91146d0d2fb99734b13ea262369a4 Mon Sep 17 00:00:00 2001 From: Gabe Cohen Date: Mon, 4 Apr 2022 19:59:53 -0700 Subject: [PATCH 4/6] health and readiness api tests --- pkg/server/router/did_test.go | 3 +- pkg/server/router/health.go | 14 ++++-- pkg/server/router/readiness.go | 4 +- pkg/server/server.go | 22 +++++---- pkg/server/server_test.go | 83 ++++++++++++++++++++++++++++++++++ pkg/service/service.go | 7 ++- 6 files changed, 115 insertions(+), 18 deletions(-) create mode 100644 pkg/server/server_test.go diff --git a/pkg/server/router/did_test.go b/pkg/server/router/did_test.go index 7de6c2b7d..0fa363cc6 100644 --- a/pkg/server/router/did_test.go +++ b/pkg/server/router/did_test.go @@ -37,7 +37,8 @@ func TestDIDRouter(t *testing.T) { assert.NoError(tt, err) assert.NotEmpty(tt, bolt) - didService, err := did.NewDIDService(log.New(os.Stdout, "ssi-test", log.LstdFlags), []did.Method{did.KeyMethod}, bolt) + logger := log.New(os.Stdout, "ssi-test", log.LstdFlags) + didService, err := did.NewDIDService(logger, []did.Method{did.KeyMethod}, bolt) assert.NoError(tt, err) assert.NotEmpty(tt, didService) diff --git a/pkg/server/router/health.go b/pkg/server/router/health.go index 233088490..ace26e80f 100644 --- a/pkg/server/router/health.go +++ b/pkg/server/router/health.go @@ -6,12 +6,16 @@ import ( "net/http" ) +type GetHealthCheckResponse struct { + Status string `json:"status"` +} + +const ( + HealthOK string = "OK" +) + // Health is a simple handler that always responds with a 200 OK func Health(_ context.Context, w http.ResponseWriter, _ *http.Request) error { - status := struct { - Status string - }{ - Status: "OK", - } + status := GetHealthCheckResponse{Status: HealthOK} return json.NewEncoder(w).Encode(status) } diff --git a/pkg/server/router/readiness.go b/pkg/server/router/readiness.go index d109c441e..1a50550ab 100644 --- a/pkg/server/router/readiness.go +++ b/pkg/server/router/readiness.go @@ -21,7 +21,7 @@ type readiness struct { log *log.Logger } -type readinessResponse struct { +type GetReadinessResponse struct { Status svcframework.Status `json:"status"` ServiceStatuses map[svcframework.Type]svcframework.Status `json:"serviceStatuses"` } @@ -53,7 +53,7 @@ func (r readiness) ready(ctx context.Context, w http.ResponseWriter, _ *http.Req Message: "all service ready", } } - response := readinessResponse{ + response := GetReadinessResponse{ Status: status, ServiceStatuses: statuses, } diff --git a/pkg/server/server.go b/pkg/server/server.go index 309175db8..4571bfb34 100644 --- a/pkg/server/server.go +++ b/pkg/server/server.go @@ -22,32 +22,38 @@ const ( DIDsPrefix = "/dids" ) +// SSIServer exposes all dependencies needed to run a http server and all its services type SSIServer struct { *framework.Server *service.SSIService - *log.Logger + *service.Config } // NewSSIServer does two things: instantiates all service and registers their HTTP bindings func NewSSIServer(shutdown chan os.Signal, config service.Config) (*SSIServer, error) { // creates an HTTP server from the framework, and wrap it to extend it for the SSIS logger := config.Logger - httpServer := framework.NewHTTPServer(shutdown, middleware.Logger(logger), middleware.Errors(logger), middleware.Metrics(), middleware.Panics(logger)) - ssi, err := service.NewSSIService(config) + middlewares := []framework.Middleware{middleware.Logger(logger), middleware.Errors(logger), middleware.Metrics(), middleware.Panics(logger)} + httpServer := framework.NewHTTPServer(shutdown, middlewares...) + ssi, err := service.InstantiateSSIService(config) if err != nil { return nil, err } + + // get all instantiated services services := ssi.GetServices() - server := SSIServer{ - Server: httpServer, - SSIService: ssi, - Logger: logger, - } // service-level routers httpServer.Handle(http.MethodGet, "/health", router.Health) httpServer.Handle(http.MethodGet, "/readiness", router.Readiness(services, logger)) + // create the server instance to be returned + server := SSIServer{ + Server: httpServer, + SSIService: ssi, + Config: &config, + } + // start all services and their routers log.Printf("Starting [%d] services...\n", len(services)) for _, s := range services { diff --git a/pkg/server/server_test.go b/pkg/server/server_test.go new file mode 100644 index 000000000..e41ae94bd --- /dev/null +++ b/pkg/server/server_test.go @@ -0,0 +1,83 @@ +package server + +import ( + "context" + "encoding/json" + "github.com/google/uuid" + "github.com/stretchr/testify/assert" + "github.com/tbd54566975/ssi-service/pkg/server/framework" + "github.com/tbd54566975/ssi-service/pkg/server/router" + "github.com/tbd54566975/ssi-service/pkg/service" + svcframework "github.com/tbd54566975/ssi-service/pkg/service/framework" + "github.com/tbd54566975/ssi-service/pkg/storage" + "log" + "net/http" + "net/http/httptest" + "os" + "testing" + "time" +) + +func TestAPI(t *testing.T) { + + // remove the db file after the test + t.Cleanup(func() { + _ = os.Remove(storage.DBFile) + }) + + t.Run("Test Health Check", func(tt *testing.T) { + shutdown := make(chan os.Signal, 1) + logger := log.New(os.Stdout, "ssi-test", log.LstdFlags) + server, err := NewSSIServer(shutdown, service.Config{Logger: logger}) + assert.NoError(tt, err) + assert.NotEmpty(tt, server) + + req := httptest.NewRequest(http.MethodGet, "https://ssi-service.com/health", nil) + w := httptest.NewRecorder() + + err = router.Health(context.TODO(), w, req) + assert.NoError(tt, err) + assert.Equal(tt, http.StatusOK, w.Result().StatusCode) + + var resp router.GetHealthCheckResponse + err = json.NewDecoder(w.Body).Decode(&resp) + assert.NoError(tt, err) + + assert.Equal(tt, router.HealthOK, resp.Status) + }) + + t.Run("Test Readiness Check", func(tt *testing.T) { + shutdown := make(chan os.Signal, 1) + logger := log.New(os.Stdout, "ssi-test", log.LstdFlags) + server, err := NewSSIServer(shutdown, service.Config{Logger: logger}) + assert.NoError(tt, err) + assert.NotEmpty(tt, server) + + req := httptest.NewRequest(http.MethodGet, "https://ssi-service.com/readiness", nil) + w := httptest.NewRecorder() + + handler := router.Readiness(nil, logger) + err = handler(newRequestContext(), w, req) + assert.NoError(tt, err) + assert.Equal(tt, http.StatusOK, w.Result().StatusCode) + + var resp router.GetReadinessResponse + err = json.NewDecoder(w.Body).Decode(&resp) + assert.NoError(tt, err) + + assert.Equal(tt, svcframework.StatusReady, resp.Status.Status) + assert.Len(tt, resp.ServiceStatuses, 0) + }) +} + +func newRequestContext() context.Context { + return context.WithValue(context.Background(), framework.KeyRequestState, &framework.RequestState{ + TraceID: uuid.New().String(), + Now: time.Now(), + StatusCode: 1, + }) +} + +func TestDIDAPI(t *testing.T) { + +} diff --git a/pkg/service/service.go b/pkg/service/service.go index 54a9c35ae..d2cbfa76e 100644 --- a/pkg/service/service.go +++ b/pkg/service/service.go @@ -20,10 +20,13 @@ type SSIService struct { services []framework.Service } -// NewSSIService creates a new instance of the SSIS which instantiates all services and their +// InstantiateSSIService creates a new instance of the SSIS which instantiates all services and their // dependencies independent of transport. // TODO(gabe) make service loading config-based -func NewSSIService(config Config) (*SSIService, error) { +func InstantiateSSIService(config Config) (*SSIService, error) { + if config.Logger == nil { + return nil, errors.New("logger not initialized") + } services, err := instantiateServices(config.Logger) if err != nil { errMsg := "could not instantiate the verifiable credentials service" From 17d010682f242fc7a675621b68bc3b26f347e120 Mon Sep 17 00:00:00 2001 From: Gabe Cohen Date: Mon, 4 Apr 2022 21:10:10 -0700 Subject: [PATCH 5/6] did http test --- pkg/server/router/did.go | 40 +++++-- pkg/server/server_test.go | 170 ++++++++++++++++++++++++++++- pkg/service/framework/framework.go | 4 +- 3 files changed, 202 insertions(+), 12 deletions(-) diff --git a/pkg/server/router/did.go b/pkg/server/router/did.go index 4637567f3..3507fd0d1 100644 --- a/pkg/server/router/did.go +++ b/pkg/server/router/did.go @@ -4,6 +4,7 @@ import ( "context" "fmt" "github.com/TBD54566975/ssi-sdk/crypto" + didsdk "github.com/TBD54566975/ssi-sdk/did" "github.com/pkg/errors" "github.com/tbd54566975/ssi-service/pkg/server/framework" "github.com/tbd54566975/ssi-service/pkg/service/did" @@ -43,7 +44,8 @@ type GetDIDMethodsResponse struct { } func (s DIDRouter) GetDIDMethods(ctx context.Context, w http.ResponseWriter, _ *http.Request) error { - response := GetDIDMethodsResponse{DIDMethods: s.GetSupportedMethods()} + methods := s.GetSupportedMethods() + response := GetDIDMethodsResponse{DIDMethods: methods} return framework.Respond(ctx, w, response, http.StatusOK) } @@ -52,7 +54,8 @@ type CreateDIDByMethodRequest struct { } type CreateDIDByMethodResponse struct { - DID interface{} `json:"did,omitempty"` + DID didsdk.DIDDocument `json:"did,omitempty"` + PrivateKey string `json:"privateKeyBase58,omitempty"` } func (s DIDRouter) CreateDIDByMethod(ctx context.Context, w http.ResponseWriter, r *http.Request) error { @@ -86,17 +89,21 @@ func (s DIDRouter) CreateDIDByMethod(ctx context.Context, w http.ResponseWriter, return framework.NewRequestErrorMsg(errMsg, http.StatusInternalServerError) } - return framework.Respond(ctx, w, *createDIDResponse, http.StatusOK) + resp := CreateDIDByMethodResponse{ + DID: createDIDResponse.DID, + PrivateKey: createDIDResponse.PrivateKey, + } + return framework.Respond(ctx, w, resp, http.StatusOK) } -type GetDIDByMethodRequest struct { - DID interface{} `json:"did,omitempty"` +type GetDIDByMethodResponse struct { + DID didsdk.DIDDocument `json:"did,omitempty"` } -func (s DIDRouter) GetDIDByMethod(ctx context.Context, w http.ResponseWriter, r *http.Request) error { +func (s DIDRouter) GetDIDByMethod(ctx context.Context, w http.ResponseWriter, _ *http.Request) error { method := framework.GetParam(ctx, MethodParam) if method == nil { - errMsg := "create DID request missing method parameter" + errMsg := "get DID by method request missing method parameter" s.Logger.Printf(errMsg) return framework.NewRequestErrorMsg(errMsg, http.StatusBadRequest) } @@ -107,5 +114,22 @@ func (s DIDRouter) GetDIDByMethod(ctx context.Context, w http.ResponseWriter, r return framework.NewRequestErrorMsg(errMsg, http.StatusBadRequest) } - return framework.Respond(ctx, w, nil, http.StatusOK) + // TODO(gabe) check if the method is supported, to tell whether this is a bad req or internal error + handler, err := s.GetHandler(did.Method(*method)) + if err != nil { + errMsg := fmt.Sprintf("could not get handler for method<%s>", *method) + s.Logger.Printf(errMsg) + return framework.NewRequestErrorMsg(errMsg, http.StatusBadRequest) + } + + // TODO(gabe) differentiate between internal errors and not found DIDs + gotDID, err := handler.GetDID(*id) + if err != nil { + errMsg := fmt.Sprintf("could not get DID for method<%s> with id: %s", *method, *id) + s.Logger.Printf(errMsg) + return framework.NewRequestErrorMsg(errMsg, http.StatusNotFound) + } + + resp := GetDIDByMethodResponse{DID: gotDID.DID} + return framework.Respond(ctx, w, resp, http.StatusOK) } diff --git a/pkg/server/server_test.go b/pkg/server/server_test.go index e41ae94bd..af9e9fbda 100644 --- a/pkg/server/server_test.go +++ b/pkg/server/server_test.go @@ -1,15 +1,22 @@ package server import ( + "bytes" "context" "encoding/json" + "fmt" + "github.com/TBD54566975/ssi-sdk/crypto" + "github.com/dimfeld/httptreemux/v5" "github.com/google/uuid" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" "github.com/tbd54566975/ssi-service/pkg/server/framework" "github.com/tbd54566975/ssi-service/pkg/server/router" "github.com/tbd54566975/ssi-service/pkg/service" + "github.com/tbd54566975/ssi-service/pkg/service/did" svcframework "github.com/tbd54566975/ssi-service/pkg/service/framework" "github.com/tbd54566975/ssi-service/pkg/storage" + "io" "log" "net/http" "net/http/httptest" @@ -70,6 +77,159 @@ func TestAPI(t *testing.T) { }) } +func TestDIDAPI(t *testing.T) { + + // remove the db file after the test + t.Cleanup(func() { + _ = os.Remove(storage.DBFile) + }) + + t.Run("Test Get DID Methods", func(tt *testing.T) { + didRouter := newDIDService(tt) + + // get DID methods + req := httptest.NewRequest(http.MethodGet, "https://ssi-service.com/v1/dids", nil) + w := httptest.NewRecorder() + + err := didRouter.GetDIDMethods(newRequestContext(), w, req) + assert.NoError(tt, err) + assert.Equal(tt, http.StatusOK, w.Result().StatusCode) + + var resp router.GetDIDMethodsResponse + err = json.NewDecoder(w.Body).Decode(&resp) + assert.NoError(tt, err) + + assert.Len(tt, resp.DIDMethods, 1) + assert.Equal(tt, resp.DIDMethods[0], did.KeyMethod) + }) + + t.Run("Test Create DID By Method: Key", func(tt *testing.T) { + didRouter := newDIDService(tt) + + // create DID by method - key - missing body + req := httptest.NewRequest(http.MethodPut, "https://ssi-service.com/v1/dids/key", nil) + w := httptest.NewRecorder() + params := map[string]string{ + "method": "key", + } + + err := didRouter.CreateDIDByMethod(newRequestContextWithParams(params), w, req) + assert.Error(tt, err) + assert.Contains(tt, err.Error(), "invalid create DID request") + + // with body, bad key type + createDIDRequest := did.CreateDIDRequest{KeyType: "bad"} + requestReader := newRequestValue(tt, createDIDRequest) + req = httptest.NewRequest(http.MethodPut, "https://ssi-service.com/v1/dids/key", requestReader) + w = httptest.NewRecorder() + + err = didRouter.CreateDIDByMethod(newRequestContextWithParams(params), w, req) + assert.Error(tt, err) + assert.Contains(tt, err.Error(), "could not create DID for method with key type: bad") + + // with body, good key type + createDIDRequest = did.CreateDIDRequest{KeyType: crypto.Ed25519} + requestReader = newRequestValue(tt, createDIDRequest) + req = httptest.NewRequest(http.MethodPut, "https://ssi-service.com/v1/dids/key", requestReader) + w = httptest.NewRecorder() + + err = didRouter.CreateDIDByMethod(newRequestContextWithParams(params), w, req) + assert.NoError(tt, err) + + var resp router.CreateDIDByMethodResponse + err = json.NewDecoder(w.Body).Decode(&resp) + assert.NoError(tt, err) + + assert.Contains(tt, resp.DID.ID, did.KeyMethod) + }) + + t.Run("Test Get DID By Method", func(tt *testing.T) { + didRouter := newDIDService(tt) + + // get DID by method + req := httptest.NewRequest(http.MethodGet, "https://ssi-service.com/v1/dids/bad/worse", nil) + w := httptest.NewRecorder() + + // bad params + badParams := map[string]string{ + "method": "bad", + "id": "worse", + } + err := didRouter.GetDIDByMethod(newRequestContextWithParams(badParams), w, req) + assert.Error(tt, err) + assert.Contains(tt, err.Error(), "could not get handler for method") + + // good method, bad id + badParams1 := map[string]string{ + "method": "key", + "id": "worse", + } + err = didRouter.GetDIDByMethod(newRequestContextWithParams(badParams1), w, req) + assert.Error(tt, err) + assert.Contains(tt, err.Error(), "could not get DID for method with id: worse") + + // store a DID + createDIDRequest := did.CreateDIDRequest{KeyType: crypto.Ed25519} + requestReader := newRequestValue(tt, createDIDRequest) + params := map[string]string{"method": "key"} + req = httptest.NewRequest(http.MethodPut, "https://ssi-service.com/v1/dids/key", requestReader) + w = httptest.NewRecorder() + + err = didRouter.CreateDIDByMethod(newRequestContextWithParams(params), w, req) + assert.NoError(tt, err) + + var createdDID router.CreateDIDByMethodResponse + err = json.NewDecoder(w.Body).Decode(&createdDID) + assert.NoError(tt, err) + + // get it back + createdID := createdDID.DID.ID + getDIDPath := fmt.Sprintf("https://ssi-service.com/v1/dids/key/%s", createdID) + req = httptest.NewRequest(http.MethodGet, getDIDPath, nil) + w = httptest.NewRecorder() + + // good params + goodParams := map[string]string{ + "method": "key", + "id": createdID, + } + err = didRouter.GetDIDByMethod(newRequestContextWithParams(goodParams), w, req) + assert.NoError(tt, err) + + var resp router.GetDIDByMethodResponse + err = json.NewDecoder(w.Body).Decode(&resp) + assert.NoError(tt, err) + assert.Equal(tt, createdID, resp.DID.ID) + }) +} + +func newDIDService(t *testing.T) *router.DIDRouter { + // set up DID service + bolt, err := storage.NewBoltDB() + require.NoError(t, err) + require.NotEmpty(t, bolt) + + logger := log.New(os.Stdout, "ssi-test", log.LstdFlags) + didService, err := did.NewDIDService(logger, []did.Method{did.KeyMethod}, bolt) + require.NoError(t, err) + require.NotEmpty(t, didService) + + // create router for service + didRouter, err := router.NewDIDRouter(didService, logger) + require.NoError(t, err) + require.NotEmpty(t, didRouter) + + return didRouter +} + +func newRequestValue(t *testing.T, data interface{}) io.Reader { + dataBytes, err := json.Marshal(data) + require.NoError(t, err) + require.NotEmpty(t, dataBytes) + return bytes.NewReader(dataBytes) +} + +// construct a context value as expected by our handler func newRequestContext() context.Context { return context.WithValue(context.Background(), framework.KeyRequestState, &framework.RequestState{ TraceID: uuid.New().String(), @@ -78,6 +238,12 @@ func newRequestContext() context.Context { }) } -func TestDIDAPI(t *testing.T) { - +// as required by https://github.com/dimfeld/httptreemux's context handler +func newRequestContextWithParams(params map[string]string) context.Context { + ctx := context.WithValue(context.Background(), framework.KeyRequestState, &framework.RequestState{ + TraceID: uuid.New().String(), + Now: time.Now(), + StatusCode: 1, + }) + return httptreemux.AddParamsToContext(ctx, params) } diff --git a/pkg/service/framework/framework.go b/pkg/service/framework/framework.go index 1156dfe3d..cd6a93125 100644 --- a/pkg/service/framework/framework.go +++ b/pkg/service/framework/framework.go @@ -16,8 +16,8 @@ const ( // Status is for service reporting on their status type Status struct { - Status StatusState - Message string + Status StatusState `json:"status,omitempty"` + Message string `json:"message,omitempty"` } // Service is an interface each service must comply with to be registered and orchestrated by the http. From 7532a9c3bad7ce7093286cb54087eebbd355d2cb Mon Sep 17 00:00:00 2001 From: Gabe Cohen Date: Mon, 4 Apr 2022 21:22:35 -0700 Subject: [PATCH 6/6] pretty picture; readme update --- README.md | 6 ++++-- doc/ssi-service.png | Bin 0 -> 171945 bytes 2 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 doc/ssi-service.png diff --git a/README.md b/README.md index 1318c22cd..999c1ba78 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,7 @@ Decentralized Web Nodes, and usage of Decentralized Identifiers. Using these cor functionality to facilitate all verifiable interactions such as creating, signing, issuing, curating, requesting, revoking, exchanging, validating, verifying credentials in varying degrees of complexity. +![ssi-sdk](doc/ssi-service.png) ## Deployment @@ -37,9 +38,10 @@ environments. It may be expanded to support multiple protocols and transports be ## Design Thinking -The design of the service, at present, assumes it will be run by a single organization. Additional design work is needed +The design of the service, at present, assumes it will be run by a single entity. Additional work is needed around authentication and authorization schemes to access the service and its functionalities, possible User Interfaces -to use the service, and much more! +to use the service, and much more! Please [open a discussion](https://github.com/TBD54566975/collaboration/discussions) +if you are interested in helping shape the future of this project. ## Contributing diff --git a/doc/ssi-service.png b/doc/ssi-service.png new file mode 100644 index 0000000000000000000000000000000000000000..a2dd5091f0ce5baa32303020ec585259f3a68d3b GIT binary patch literal 171945 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

cRJ1%sxI@MT0#1eS2a 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

BLbT7k9V9bD=v4SnyCt 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%0At52eyG_-04{g$^FHgtS?6AWNe*d=Lo{o=;D;(-_ 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 v%EuHA%V03aFqlt