Scratch space for learning atproto app development

update deps

+1 -1
bin/gen-jwk
···
'use strict'
-
const { JoseKey } = require('@atproto/jwk-jose')
+
const { JoseKey } = require('@atproto/oauth-client-node')
async function main() {
const kid = Date.now().toString()
+22 -24
package-lock.json
···
"@atproto/api": "^0.15.6",
"@atproto/common": "^0.4.11",
"@atproto/identity": "^0.4.8",
-
"@atproto/jwk-jose": "^0.1.9",
"@atproto/lexicon": "^0.4.11",
-
"@atproto/oauth-client-node": "^0.3.0",
+
"@atproto/oauth-client-node": "^0.3.1",
"@atproto/sync": "^0.1.26",
"@atproto/syntax": "^0.4.0",
"@atproto/xrpc-server": "^0.8.0",
···
}
},
"node_modules/@atproto-labs/handle-resolver": {
-
"version": "0.2.0",
-
"resolved": "https://registry.npmjs.org/@atproto-labs/handle-resolver/-/handle-resolver-0.2.0.tgz",
-
"integrity": "sha512-oq9NVr6GMh4r/isk6kbEHDH+pUTUYmKb/kGc8hpk430U/xF9A3OAT1L6ySZvAc7SE1MXx4kFDZYfZ5Aop3vrgQ==",
+
"version": "0.3.0",
+
"resolved": "https://registry.npmjs.org/@atproto-labs/handle-resolver/-/handle-resolver-0.3.0.tgz",
+
"integrity": "sha512-TREelvXB6P2eHxx6QjINRkBzUZu/aXWrdY9iN57shQe3C8rzsHNEHHuTVvRa33Hc7vFdQbZN0TnCgKveoyiL/A==",
"license": "MIT",
"dependencies": {
"@atproto-labs/simple-store": "0.2.0",
···
}
},
"node_modules/@atproto-labs/handle-resolver-node": {
-
"version": "0.1.17",
-
"resolved": "https://registry.npmjs.org/@atproto-labs/handle-resolver-node/-/handle-resolver-node-0.1.17.tgz",
-
"integrity": "sha512-msJql8R5t6QAoU5SlT8/7W34B3CQEtAo62u+OlYlY74jmGmJOst8neLuor7WpkoN/Ucn8opVgEV/g9RtwGm1IA==",
+
"version": "0.1.18",
+
"resolved": "https://registry.npmjs.org/@atproto-labs/handle-resolver-node/-/handle-resolver-node-0.1.18.tgz",
+
"integrity": "sha512-/qo14c3I+kagT1UWSp3lTIzwDetfkxvF3Y3VlX2NyQ2jHwgtIAJ81KFNqe7t82NpQDjWiM5h4bdjvdbFIh5djQ==",
"license": "MIT",
"dependencies": {
"@atproto-labs/fetch-node": "0.1.9",
-
"@atproto-labs/handle-resolver": "0.2.0",
+
"@atproto-labs/handle-resolver": "0.3.0",
"@atproto/did": "0.1.5"
},
"engines": {
···
}
},
"node_modules/@atproto-labs/identity-resolver": {
-
"version": "0.1.19",
-
"resolved": "https://registry.npmjs.org/@atproto-labs/identity-resolver/-/identity-resolver-0.1.19.tgz",
-
"integrity": "sha512-m4wDm7+0Szc6IO+4e+tstXZl68leAGSr+xG/eeKh9UfgTCsh41mwUM1fTufgTQezoBQO2bChpxxHEztX5Hau+w==",
+
"version": "0.2.0",
+
"resolved": "https://registry.npmjs.org/@atproto-labs/identity-resolver/-/identity-resolver-0.2.0.tgz",
+
"integrity": "sha512-X4UpU9qSgbuBVRXw0kpYqdVRtjNGezmaetyQIwWHNdUl1+ILu4GhinSk1MBXamzgg/07/BVCU0r4LRIPg2Wiow==",
"license": "MIT",
"dependencies": {
"@atproto-labs/did-resolver": "0.2.0",
-
"@atproto-labs/handle-resolver": "0.2.0",
-
"@atproto/syntax": "0.4.0"
+
"@atproto-labs/handle-resolver": "0.3.0"
}
},
"node_modules/@atproto-labs/pipe": {
···
}
},
"node_modules/@atproto/oauth-client": {
-
"version": "0.4.1",
-
"resolved": "https://registry.npmjs.org/@atproto/oauth-client/-/oauth-client-0.4.1.tgz",
-
"integrity": "sha512-gLgaaXchDzMRgeJZaZnkDSso6fBLwBJAlLycAthVSCs/NFw9VPkFIYlZ1gkN1ehvPcU3eKtsh64SNllGZMDKSg==",
+
"version": "0.4.2",
+
"resolved": "https://registry.npmjs.org/@atproto/oauth-client/-/oauth-client-0.4.2.tgz",
+
"integrity": "sha512-wHRYcrh+iKQvMramYqE6PHs5Y/L2LYFzrEnyUMf83CjD3GYFwbSN5pwot6EFXONxRwuRjxpXsCSlFzZwx9YFvw==",
"license": "MIT",
"dependencies": {
"@atproto-labs/did-resolver": "0.2.0",
"@atproto-labs/fetch": "0.2.3",
-
"@atproto-labs/handle-resolver": "0.2.0",
-
"@atproto-labs/identity-resolver": "0.1.19",
+
"@atproto-labs/handle-resolver": "0.3.0",
+
"@atproto-labs/identity-resolver": "0.2.0",
"@atproto-labs/simple-store": "0.2.0",
"@atproto-labs/simple-store-memory": "0.1.3",
"@atproto/did": "0.1.5",
···
}
},
"node_modules/@atproto/oauth-client-node": {
-
"version": "0.3.0",
-
"resolved": "https://registry.npmjs.org/@atproto/oauth-client-node/-/oauth-client-node-0.3.0.tgz",
-
"integrity": "sha512-oIFrKyc9UeDOj3m2dLD5irAvsCVKhvY2drDnFpfoKqVbO+3OulE9KNERkaDRjJKllU92pyUs9p1aSnJBTtAvQw==",
+
"version": "0.3.1",
+
"resolved": "https://registry.npmjs.org/@atproto/oauth-client-node/-/oauth-client-node-0.3.1.tgz",
+
"integrity": "sha512-k37YC7Ke4+btX05oAqHqkkM8r2Ya/tssWANx7/GMwN3PXPP5PK1C/pkxJrGsN/hpjn3I4W9lVTOlC7nigEX7sw==",
"license": "MIT",
"dependencies": {
"@atproto-labs/did-resolver": "0.2.0",
-
"@atproto-labs/handle-resolver-node": "0.1.17",
+
"@atproto-labs/handle-resolver-node": "0.1.18",
"@atproto-labs/simple-store": "0.2.0",
"@atproto/did": "0.1.5",
"@atproto/jwk": "0.4.0",
"@atproto/jwk-jose": "0.1.9",
"@atproto/jwk-webcrypto": "0.1.9",
-
"@atproto/oauth-client": "0.4.1",
+
"@atproto/oauth-client": "0.4.2",
"@atproto/oauth-types": "0.3.1"
},
"engines": {
+1 -2
package.json
···
"@atproto/api": "^0.15.6",
"@atproto/common": "^0.4.11",
"@atproto/identity": "^0.4.8",
-
"@atproto/jwk-jose": "^0.1.9",
"@atproto/lexicon": "^0.4.11",
-
"@atproto/oauth-client-node": "^0.3.0",
+
"@atproto/oauth-client-node": "^0.3.1",
"@atproto/sync": "^0.1.26",
"@atproto/syntax": "^0.4.0",
"@atproto/xrpc-server": "^0.8.0",
+6 -2
src/auth/client.ts
···
-
import { Keyset } from '@atproto/jwk'
-
import { JoseKey } from '@atproto/jwk-jose'
import {
+
Keyset,
+
JoseKey,
atprotoLoopbackClientMetadata,
NodeOAuthClient,
OAuthClientMetadataInput,
···
clientMetadata,
stateStore: new StateStore(db),
sessionStore: new SessionStore(db),
+
+
// XXX Staging
+
plcDirectoryUrl: 'https://plc.staging.bsky.dev',
+
handleResolver: 'https://staging.bsky.dev',
})
}
+2 -2
src/lib/envalid-private-keys.ts
···
-
import { Jwk, jwkValidator } from '@atproto/jwk'
+
import { Jwk, jwkValidator } from '@atproto/oauth-client-node'
import { makeValidator } from 'envalid'
import { z } from 'zod'
···
const privateKeySchema = z.intersection(
jwkValidator,
-
z.object({ kid: z.string().nonempty() })
+
z.object({ kid: z.string().nonempty() }),
) satisfies z.ZodType<PrivateKey>
const privateKeysSchema = z.array(privateKeySchema).nonempty()