Premise
- knksm5.final-techblog.com = did:plc:vpjkockzv7nxnc5o4furet2x
- PDS: morel.us-east.host.bsky.network
Service did.json
WhiteWind did.json
{
"@context": [
"https://www.w3.org/ns/did/v1",
"https://w3id.org/security/suites/jws-2020/v1"
],
"id": "did:web:whtwnd.com",
"verificationMethod": [
{
"id": "did:web:whtwnd.com#owner",
"type": "JsonWebKey2020",
"controller": "did:web:whtwnd.com",
"publicKeyJwk": {
"kty": "EC",
"crv": "secp256k1",
"x": "cLO2a45bIXohmXXZtFgypv1eorUym7FC7hy+G+Ys2w0=",
"y": "L4jmrS4oA98rsNOXNfyYktkb6eTBT/e9zzsDCGeTivI="
}
}
],
"authentication": [
"did:web:whtwnd.com#owner"
],
"assertionMethod": [
"did:web:whtwnd.com#owner"
],
"service": [
{
"id": "#whitewind_blog",
"type": "AtprotoAppView",
"serviceEndpoint": "https://b481a144-23e5-4fa9-83ae-e448d3593655.whtwnd.com"
}
]
}
curl logs (ordered by time)
Fail request(1)
curl -i -H 'Authorization: Bearer <TOKEN>' -H 'atproto-proxy: did:web:whtwnd.com#whitewind_blog' https://morel.us-east.host.bsky.network/xrpc/com.whtwnd.blog.getEntryMetadataByName\?author\=knksm5.final-techblog.com\&entryTitle\=About%20WhiteWind
HTTP/2 500
x-powered-by: Express
access-control-allow-origin: *
ratelimit-limit: 3000
ratelimit-remaining: 2999
ratelimit-reset: 1715869394
ratelimit-policy: 3000;w=300
content-type: application/json; charset=utf-8
content-length: 65
etag: W/"41-PDrLQG9BpCN547AVB5jtYl3RBt8"
vary: Accept-Encoding
date: Thu, 16 May 2024 14:18:16 GMT
strict-transport-security: max-age=63072000
{"error":"InternalServerError","message":"Internal Server Error"}%
Direct request without atproto-proxy
curl -i -H 'Authorization: Bearer <TOKEN>' htt
ps://morel.us-east.host.bsky.network/xrpc/com.whtwnd.blog.getEntryMetadataByName\?author\=knksm5.final-techblog.com\&entryTitle\=About%20WhiteWind
HTTP/2 501
x-powered-by: Express
access-control-allow-origin: *
ratelimit-limit: 3000
ratelimit-remaining: 2998
ratelimit-reset: 1715869394
ratelimit-policy: 3000;w=300
content-type: application/json; charset=utf-8
content-length: 67
etag: W/"43-/bs0m1axTx61oX0AJZlwBuYVGUY"
vary: Accept-Encoding
date: Thu, 16 May 2024 14:21:26 GMT
strict-transport-security: max-age=63072000
{"error":"MethodNotImplemented","message":"Method Not Implemented"}%
Fail request(2)
curl -i -H 'Authorization: Bearer <TOKEN>' -H 'atproto-proxy: did:web:whtwnd.com#whitewind_blog' https://morel.us-east.host.bsky.network/xrpc/com.whtwnd.blog.getEntryMetadataByName\?author\=knksm5.final-techblog.com\&entryTitle\=About%20WhiteWind
HTTP/2 500
x-powered-by: Express
access-control-allow-origin: *
ratelimit-limit: 3000
ratelimit-remaining: 2997
ratelimit-reset: 1715869394
ratelimit-policy: 3000;w=300
content-type: application/json; charset=utf-8
content-length: 65
etag: W/"41-PDrLQG9BpCN547AVB5jtYl3RBt8"
vary: Accept-Encoding
date: Thu, 16 May 2024 14:21:31 GMT
strict-transport-security: max-age=63072000
{"error":"InternalServerError","message":"Internal Server Error"}%
Fail request(3)
curl -i -H 'Authorization: Bearer <TOKEN>' -H 'atproto-proxy: did:web:whtwnd.com#whitewind_blog' https://morel.us-east.host.bsky.network/xrpc/com.whtwnd.blog.getEntryMetadataByName\?author\=knksm5.final-techblog.com\&entryTitle\=About%20WhiteWind
HTTP/2 500
x-powered-by: Express
access-control-allow-origin: *
ratelimit-limit: 3000
ratelimit-remaining: 2999
ratelimit-reset: 1715869968
ratelimit-policy: 3000;w=300
content-type: application/json; charset=utf-8
content-length: 65
etag: W/"41-PDrLQG9BpCN547AVB5jtYl3RBt8"
vary: Accept-Encoding
date: Thu, 16 May 2024 14:27:49 GMT
strict-transport-security: max-age=63072000
{"error":"InternalServerError","message":"Internal Server Error"}%
Direct request to appview (success)
curl -i https://b481a144-23e5-4fa9-83ae-e448d3593655.whtwnd.com/xrpc/com.whtwnd.blog.getEntryMetadataByName\?author\=knksm5.final-techblog.com\&entryTitle\=About%20WhiteWind
HTTP/2 200
date: Thu, 16 May 2024 14:28:35 GMT
content-type: application/json
content-length: 192
x-amzn-requestid: 36b21f09-62d9-49fb-82a4-f01acf38c563
access-control-allow-origin: *
access-control-allow-headers: Content-Type
x-amz-apigw-id: X3iy-FEDtjMET8Q=
access-control-allow-methods: OPTIONS,GET
x-amzn-trace-id: Root=1-66461812-72f60a8b761d571a70097751;Parent=6bd274a807b33a66;Sampled=0;lineage=8dc4dd71:0
{"cid":"bafyreiakcy2czpqw57ojhrivy44lmcua2vk7fmxo3kn37e2tl3zlwz645a","entryUri":"at://did:plc:vpjkockzv7nxnc5o4furet2x/com.whtwnd.blog.entry/3knxzuga4ds2q","lastUpdate":"2024-04-04T15:24:10Z"}%
Deliverately break token
curl -i -H 'Authorization: Bearer <BROKEN_TOKEN>' -H 'atproto-proxy: did:web:whtwnd.com#whitewind_blog' https://morel.us-east.host.bsky.network/xrpc/com.whtwnd.blog.getEntryMetadataByName\?author\=knksm5.final-techblog.com\&entryTitle\=About%20WhiteWind
HTTP/2 400
x-powered-by: Express
access-control-allow-origin: *
ratelimit-limit: 3000
ratelimit-remaining: 2984
ratelimit-reset: 1715869968
ratelimit-policy: 3000;w=300
content-type: application/json; charset=utf-8
content-length: 64
etag: W/"40-xhmkJNPFBTKYnh5m02EUy+y089k"
vary: Accept-Encoding
date: Thu, 16 May 2024 14:32:24 GMT
strict-transport-security: max-age=63072000
{"error":"InvalidToken","message":"Token could not be verified"}%
Fail request (4)
curl -i -H 'Authorization: Bearer <TOKEN>' -H 'atproto-proxy: did:web:whtwnd.com#whitewind_blog' https://morel.us-east.host.bsky.network/xrpc/com.whtwnd.blog.getEntryMetadataByName\?author\=knksm5.final-techblog.com\&entryTitle\=About%20WhiteWind
HTTP/2 500
x-powered-by: Express
access-control-allow-origin: *
ratelimit-limit: 3000
ratelimit-remaining: 2983
ratelimit-reset: 1715869968
ratelimit-policy: 3000;w=300
content-type: application/json; charset=utf-8
content-length: 65
etag: W/"41-PDrLQG9BpCN547AVB5jtYl3RBt8"
vary: Accept-Encoding
date: Thu, 16 May 2024 14:32:30 GMT
strict-transport-security: max-age=63072000
{"error":"InternalServerError","message":"Internal Server Error"}%
Fail request (5)
curl -i -H 'Authorization: Bearer <TOKEN>' -H 'atproto-proxy: did:web:whtwnd.com#whitewind_blog' https://morel.us-east.host.bsky.network/xrpc/com.whtwnd.blog.getEntryMetadataByName\?author\=knksm5.final-techblog.com\&entryTitle\=About%20WhiteWind
HTTP/2 500
x-powered-by: Express
access-control-allow-origin: *
ratelimit-limit: 3000
ratelimit-remaining: 2946
ratelimit-reset: 1715870432
ratelimit-policy: 3000;w=300
content-type: application/json; charset=utf-8
content-length: 65
etag: W/"41-PDrLQG9BpCN547AVB5jtYl3RBt8"
vary: Accept-Encoding
date: Thu, 16 May 2024 14:38:33 GMT
strict-transport-security: max-age=63072000
{"error":"InternalServerError","message":"Internal Server Error"}%
Fail request (6)
curl -i -H 'Authorization: Bearer <TOKEN>' -H 'atproto-proxy: did:web:whtwnd.com#whitewind_blog' https://morel.us-east.host.bsky.network/xrpc/com.whtwnd.blog.getEntryMetadataByName\?author\=knksm5.final-techblog.com\&entryTitle\=About%20WhiteWind
HTTP/2 500
x-powered-by: Express
access-control-allow-origin: *
ratelimit-limit: 3000
ratelimit-remaining: 2945
ratelimit-reset: 1715870432
ratelimit-policy: 3000;w=300
content-type: application/json; charset=utf-8
content-length: 65
etag: W/"41-PDrLQG9BpCN547AVB5jtYl3RBt8"
vary: Accept-Encoding
date: Thu, 16 May 2024 14:39:19 GMT
strict-transport-security: max-age=63072000
{"error":"InternalServerError","message":"Internal Server Error"}%
Maybe I turned on API Gateway CloudWatch logs around here?
Deliverately drop service id
curl -i -H 'Authorization: Bearer <TOKEN>' -H 'atproto-proxy: did:web:whtwnd.com' https://morel.us-east.host.bsky.network/xrpc/com.whtwnd.blog.getEntryMetadataByName\
?author\=knksm5.final-techblog.com\&entryTitle\=About%20WhiteWind
HTTP/2 400
x-powered-by: Express
access-control-allow-origin: *
ratelimit-limit: 3000
ratelimit-remaining: 2944
ratelimit-reset: 1715870432
ratelimit-policy: 3000;w=300
content-type: application/json; charset=utf-8
content-length: 62
etag: W/"3e-azp4Nl9WVmr3IcMPv6nM5tGtB8c"
vary: Accept-Encoding
date: Thu, 16 May 2024 14:39:41 GMT
strict-transport-security: max-age=63072000
{"error":"InvalidRequest","message":"no service id specified"}%
Deliverately break service id
curl -i -H 'Authorization: Bearer <TOKEN>' -H 'atproto-proxy: did:web:whtwnd.com#whitewind_blo' https://morel.us-east.host.bsky.network/xrpc/com.whtwnd.blog.getEntryM
etadataByName\?author\=knksm5.final-techblog.com\&entryTitle\=About%20WhiteWind
HTTP/2 400
x-powered-by: Express
access-control-allow-origin: *
ratelimit-limit: 3000
ratelimit-remaining: 2943
ratelimit-reset: 1715870432
ratelimit-policy: 3000;w=300
content-type: application/json; charset=utf-8
content-length: 78
etag: W/"4e-myZM5YQrfKNTS544KwhRZpYN11c"
vary: Accept-Encoding
date: Thu, 16 May 2024 14:39:52 GMT
strict-transport-security: max-age=63072000
{"error":"InvalidRequest","message":"could not resolve proxy did service url"}%
Successful request (com.whtwnd.blog.getEntryMetadataByName)
curl -i -H 'Authorization: Bearer <TOKEN>' -H 'atproto-proxy: did:web:whtwnd.com#whitewind_blog' https://morel.us-east.host.bsky.network/xrpc/com.whtwnd.blog.getEntryMetadataByName\?author\=knksm5.final-techblog.com\&entryTitle\=About%20WhiteWind
HTTP/2 200
x-powered-by: Express
access-control-allow-origin: *
ratelimit-limit: 3000
ratelimit-remaining: 2942
ratelimit-reset: 1715870432
ratelimit-policy: 3000;w=300
content-type: application/json
content-length: 192
vary: Accept-Encoding
date: Thu, 16 May 2024 14:40:05 GMT
strict-transport-security: max-age=63072000
{"cid":"bafyreiakcy2czpqw57ojhrivy44lmcua2vk7fmxo3kn37e2tl3zlwz645a","entryUri":"at://did:plc:vpjkockzv7nxnc5o4furet2x/com.whtwnd.blog.entry/3knxzuga4ds2q","lastUpdate":"2024-04-04T15:24:10Z"}%
Successful request (com.whtwnd.blog.getMentionsByEntry)
curl -i -H 'Authorization: Bearer <TOKEN>' -H 'atproto-proxy: did:web:whtwnd.com#whitewind_blog' https://morel.us-east.host.bsky.network/xrpc/com.whtwnd.blog.getMentionsByEntry\?postUri\=at%3A%2F%2Fdid%3Aplc%3Avafqb3yhndyawabm2t2zhw5z%2Fcom.whtwnd.blog.entry%2F3kslygbm5fl2y
HTTP/2 200
x-powered-by: Express
access-control-allow-origin: *
ratelimit-limit: 3000
ratelimit-remaining: 2999
ratelimit-reset: 1715870854
ratelimit-policy: 3000;w=300
content-type: application/json
content-length: 87
vary: Accept-Encoding
date: Thu, 16 May 2024 14:42:36 GMT
strict-transport-security: max-age=63072000
{"mentions":["at://did:plc:vafqb3yhndyawabm2t2zhw5z/app.bsky.feed.post/3kslyot6wql2u"]}%