diff --git a/go.mod b/go.mod index f1337d2c2edaa185d127e68e76572dd5d2192af7..c6013f2883b9b6c6180e9da0a30bb11a6eaf22f2 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module code.vereign.com/gaiax/tsa/policy go 1.17 require ( - code.vereign.com/gaiax/tsa/golib v1.0.0-rc.0.20220720095726-810b020cd50e + code.vereign.com/gaiax/tsa/golib v1.1.1-0.20220724081734-3d943a98ddda github.com/google/uuid v1.3.0 github.com/kelseyhightower/envconfig v1.4.0 github.com/open-policy-agent/opa v0.38.1 diff --git a/go.sum b/go.sum index ea2ec3373fedbd19a0c19216964f1e0c955fdb02..0596c00254b00b732795574026a2ceb378953d70 100644 --- a/go.sum +++ b/go.sum @@ -46,8 +46,8 @@ cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0Zeo cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -code.vereign.com/gaiax/tsa/golib v1.0.0-rc.0.20220720095726-810b020cd50e h1:Ri4DRi0Ib83IhkCoZ0+Bn3JCezDY/Xe/PWLrxO9NXhI= -code.vereign.com/gaiax/tsa/golib v1.0.0-rc.0.20220720095726-810b020cd50e/go.mod h1:YFWVw+DcwqWZd7OpwKfBWjIjlrUBT1UVbj8Q8FS6k/g= +code.vereign.com/gaiax/tsa/golib v1.1.1-0.20220724081734-3d943a98ddda h1:8bCTEDKKlCwKL6scR3OHYimu7RXxEfJRznd3RV/8jLg= +code.vereign.com/gaiax/tsa/golib v1.1.1-0.20220724081734-3d943a98ddda/go.mod h1:YFWVw+DcwqWZd7OpwKfBWjIjlrUBT1UVbj8Q8FS6k/g= 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= diff --git a/internal/regofunc/ocm.go b/internal/regofunc/ocm.go index 0145bac5517f74a4eea8707845e92aa33c638e83..b32f992213bc8a4fe6f35b142deb9a26d48cef65 100644 --- a/internal/regofunc/ocm.go +++ b/internal/regofunc/ocm.go @@ -74,8 +74,15 @@ func (of *OcmFuncs) GetLoginProofResult() (*rego.Function, rego.Builtin1) { return nil, err } + claims := map[string]interface{}{} + for _, cred := range res.Data.Data { + for cName, cValue := range cred.Claims { + claims[cName] = cValue + } + } + var val ast.Value - val, err = ast.InterfaceToValue(res.Data.Claims) + val, err = ast.InterfaceToValue(claims) if err != nil { return nil, err } diff --git a/internal/regofunc/ocm_test.go b/internal/regofunc/ocm_test.go index 63d022e54ab9102a2690357aa73be72285136cbc..26de0b0487ab6f794a02b2bfbe8857f24ed6e042 100644 --- a/internal/regofunc/ocm_test.go +++ b/internal/regofunc/ocm_test.go @@ -70,12 +70,20 @@ func TestGetLoginProofResult(t *testing.T) { expected := `{"family_name":"Doe","name":"John"}` ocmResponse := `{ "statusCode": 200, - "message": "Proof presentation fetch successfully", "data": { - "credentialSubject": { - "name":"John", - "family_name":"Doe" - } + "state": "done", + "data": [ + { + "credentialSubject": { + "family_name":"Doe" + } + }, + { + "credentialSubject": { + "name":"John" + } + } + ] } }` diff --git a/vendor/code.vereign.com/gaiax/tsa/golib/ocm/client.go b/vendor/code.vereign.com/gaiax/tsa/golib/ocm/client.go index 862b1c3fbd0ce1514988731c3fbc3d1c0aa3b34d..3448cad6d4775e3b29eca8d6df81b5c2d26165ea 100644 Binary files a/vendor/code.vereign.com/gaiax/tsa/golib/ocm/client.go and b/vendor/code.vereign.com/gaiax/tsa/golib/ocm/client.go differ diff --git a/vendor/code.vereign.com/gaiax/tsa/golib/ocm/types.go b/vendor/code.vereign.com/gaiax/tsa/golib/ocm/types.go index 3a002c4d7d1cf90d5359b7fa2e7496057b6cfeab..44239dad70dd67ccbcae8e6d64ead67eb0c606bd 100644 Binary files a/vendor/code.vereign.com/gaiax/tsa/golib/ocm/types.go and b/vendor/code.vereign.com/gaiax/tsa/golib/ocm/types.go differ diff --git a/vendor/modules.txt b/vendor/modules.txt index fb685bae595e01bb5f1dbfabf438b8e19a7f03bb..341cc1c9b2abf1e84ab4fc44b18e50733f7f0b07 100644 Binary files a/vendor/modules.txt and b/vendor/modules.txt differ