Decentralized identity 尝试使用ion方法注册时收到错误的请求响应

Decentralized identity 尝试使用ion方法注册时收到错误的请求响应,decentralized-identity,Decentralized Identity,我尝试按照链接中定义的步骤原样创建一个样本,并完成DID注册以了解流程 我下载了示例并生成了必要的公钥/私钥,直到使用命令节点makejws生成有效负载的步骤成功完成 在这之后,当我试图使用curl命令curl时,用命令节点makejws的有效负载响应替换整个文本After-data。我收到一个错误请求,不确定命令中有什么错误 我使用的Curl命令如下 curl-v-H内容类型:application/json-data{'header':{'alg':'ES256K','kid':'key-1

我尝试按照链接中定义的步骤原样创建一个样本,并完成DID注册以了解流程

我下载了示例并生成了必要的公钥/私钥,直到使用命令节点makejws生成有效负载的步骤成功完成

在这之后,当我试图使用curl命令curl时,用命令节点makejws的有效负载响应替换整个文本After-data。我收到一个错误请求,不确定命令中有什么错误

我使用的Curl命令如下

curl-v-H内容类型:application/json-data{'header':{'alg':'ES256K','kid':'key-1','operation':'create','proofwork':{}“有效载荷”是一种“有效载荷”的“有效载荷”是“有效载荷”的“有效载荷”的“有效载荷”是“有效载荷”的“有效载荷”是“有效载荷”的“有效载荷”是一个“有效载荷”是指“有效载荷”是一个“有效载荷”是一个“有效载荷”是一个“有效载荷”是一个“有效载荷”是一个新的数据,这是一个中国政府的一个中国政府在一个中国的政府在一个中国的政府,他们在一个中国的政府在一个中国中国的一些中国的一些中国政府在一些中国的一些中国政府在一些中国的一些中国政府在一些中国的一些中国政府在一些中国的一些中国政府在一些中国的一些中国政府在一些中国的一些中国在一些中国的中国政府在一些中国的中国政府在一些中国政府在一些中国在一些中国在中国的中国政府在一些中国在一些中国的中国在一些中国在一些中国在中国在中国的中国在一些中国的中国在他们在中国在中国1DTzKmzbkssisinvzzsi6inzlcmlmesimrlzmf1bhrfbmnyxb0aw9uqwxnb3jpdghtijoibm9uzzisimrlzmf1bhrtawduqwxnb3jpdghtijoirvzmynzzl6w3w3w3w3w3w3w3w3w3w6w3w3w3w6w3w3w3w3w9w9w9w9w9w9w9w9w9w9w9w9w9w9w9w9w9w9w9w9w9w9w9w9w9w9w9w0w9w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0wh1Yi5pZCJdfX1dfQ',“签名”:“MEYCIQCb7qxCFyIcYumN-HBYQLETC5YLDWRNNRHDZLB1DEUBQIQHAMKADSA-BXWV5EGHHLJBR84MJKMUYI5NACTNAPBCs”}-X POST

以下回复除外

"HTTP/1.1 200 OK
Content-Length: 395
Content-Type: application/json"
但是接受

HTTP/1.1 400 Bad Request
request-id: "test"
content-type: text/plain; charset=

您正在使用的curl命令没有发送JSON。JSON要求在键和值周围使用双引号

将所有的“更改为”,并将其包装为“如下所示”:

--data '{"header":{"alg":"ES256K",...}' -X POST https://beta.ion.microsoft.com/api/1.0/register
当我这样做时,我收到了一个HTTP/1.1200 OK

而且,-X POST不是必需的-curl命令的其他部分已经暗示了POST

更新1基于你6/30的评论,我用我的意思的未经修饰的形式更新了这个答案,curl输出表明它是有效的:

完全卷曲命令

旋度传动

卷曲反应


欢迎来到堆栈溢出!在我看来,问题在于您发出的curl命令;请发布详细信息,例如full curl命令,以及任何相关的详细信息,例如,如果您发布文件中的数据,请包含该文件的最小示例;这些细节将帮助人们缩小问题范围,并建议解决方案和/或其他您应该尝试的事情。我正在使用curl命令发布数据,并发布了我在原始帖子中尝试使用的命令。请检查您是否能找到命令的问题。我看到问题:我已输入并使用解决方案回答。只是签入:我的回答有意义吗?你想澄清什么吗?我的回答解决了你的问题吗?正如我在回答中指出的那样,更改引用导致我的回复为200;在应用我的更改后,您是否收到相同的结果?不确定是什么问题,它仍然会给我与错误请求相同的响应。我认为,只要我们使用单引号中的JSON和参数&它的值用双引号表示,或者反之亦然,JSON总是正确地解析字符串并不重要,但正如您所建议的,我确实尝试了,但没有成功
curl -v -H "Content-Type: application/json" --data '{"header":{"alg":"ES256K","kid":"#key-1","operation":"create","proofOfWork":"{}"},"payload":"eyJAY29udGV4dCI6Imh0dHBzOi8vdzNpZC5vcmcvZGlkL3YxIiwicHVibGljS2V5IjpbeyJpZCI6IiNrZXktMSIsInR5cGUiOiJTZWNwMjU2azFWZXJpZmljYXRpb25LZXkyMDE4IiwicHVibGljS2V5SndrIjp7Imt0eSI6IkVDIiwia2lkIjoiI2tleS0xIiwiY3J2IjoiUC0yNTZLIiwieCI6IjVvTEg2ZUVfdWZjZ2VlZ1U2NFo1ZFlEdUxjWWJSV3hsYk1xdFVnbmVRRWMiLCJ5IjoieXZEcXhwaXlCYlZsUlF1cXhHUm54U3hNbDJwSFFTem5Ub0U1dTZKMzBkSSIsInVzZSI6InZlcmlmeSIsImRlZmF1bHRFbmNyeXB0aW9uQWxnb3JpdGhtIjoibm9uZSIsImRlZmF1bHRTaWduQWxnb3JpdGhtIjoiRVMyNTZLIn19XSwic2VydmljZSI6W3siaWQiOiJJZGVudGl0eUh1YiIsInR5cGUiOiJJZGVudGl0eUh1YiIsInNlcnZpY2VFbmRwb2ludCI6eyJAY29udGV4dCI6InNjaGVtYS5pZGVudGl0eS5mb3VuZGF0aW9uL2h1YiIsIkB0eXBlIjoiVXNlclNlcnZpY2VFbmRwb2ludCIsImluc3RhbmNlIjpbImRpZDp0ZXN0Omh1Yi5pZCJdfX1dfQ","signature":"MEYCIQCb7qxCFyIcYumN-HbYqleTc5YldwRnNrhDzlB1DEubQQIhAMkAdsa-BxwV5EghhLljbr84MjkmUYI5narCTnapBcxs"}' -X POST https://beta.ion.microsoft.com/api/1.0/register
Note: Unnecessary use of -X or --request, POST is already inferred.
*   Trying 52.183.24.15...
* TCP_NODELAY set
* Connected to beta.ion.microsoft.com (52.183.24.15) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/cert.pem
  CApath: none
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Client hello (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS change cipher, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server accepted to use h2
* Server certificate:
*  subject: CN=beta.ion.microsoft.com
*  start date: Apr 25 21:41:42 2019 GMT
*  expire date: Apr 25 21:41:42 2020 GMT
*  subjectAltName: host "beta.ion.microsoft.com" matched cert's "beta.ion.microsoft.com"
*  issuer: C=US; ST=Washington; L=Redmond; O=Microsoft Corporation; OU=Microsoft IT; CN=Microsoft IT TLS CA 2
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x7f9e0e00c600)
> POST /api/1.0/register HTTP/2
> Host: beta.ion.microsoft.com
> User-Agent: curl/7.54.0
> Accept: */*
> Content-Type: application/json
> Content-Length: 908
> 
* We are completely uploaded and fine
* Connection state changed (MAX_CONCURRENT_STREAMS updated)!
< HTTP/2 200 
< request-id: 3545fb10-998e-4871-a28c-bc92e7d82648
< vary: Origin, Accept-Encoding
< x-dns-prefetch-control: off
< x-frame-options: SAMEORIGIN
< strict-transport-security: max-age=31536000; includeSubDomains
< x-download-options: noopen
< x-content-type-options: nosniff
< x-xss-protection: 1; mode=block
< content-type: application/json; charset=utf-8
< content-length: 828
< server-timing: total;dur=171.0000
< date: Mon, 01 Jul 2019 03:56:45 GMT
< x-envoy-upstream-service-time: 173
< server: envoy
< 
{
  "@context": "https://w3id.org/did/v1",
  "publicKey": [
    {
      "id": "#key-1",
      "type": "Secp256k1VerificationKey2018",
      "publicKeyJwk": {
        "kty": "EC",
        "kid": "#key-1",
        "crv": "P-256K",
        "x": "5oLH6eE_ufcgeegU64Z5dYDuLcYbRWxlbMqtUgneQEc",
        "y": "yvDqxpiyBbVlRQuqxGRnxSxMl2pHQSznToE5u6J30dI",
        "use": "verify",
        "defaultEncryptionAlgorithm": "none",
        "defaultSignAlgorithm": "ES256K"
      }
    }
  ],
  "service": [
    {
      "id": "IdentityHub",
      "type": "IdentityHub",
      "serviceEndpoint": {
        "@context": "schema.identity.foundation/hub",
        "@type": "UserServiceEndpoint",
        "instance": [
          "did:test:hub.id"
        ]
      }
    }
  ],
  "id": "did:ion:test:EiBXX4kWVIMsvP-evbWvr37Vy2UY32ALpNu9nssBhj_Pdg"
* Connection #0 to host beta.ion.microsoft.com left intact