Scratch space for learning atproto app development

update deps

Changed files
+55 -57
src
auth
+51 -51
package-lock.json
···
"@atproto/api": "^0.15.6",
"@atproto/common": "^0.4.11",
"@atproto/identity": "^0.4.8",
-
"@atproto/jwk-jose": "^0.1.8",
"@atproto/lexicon": "^0.4.11",
-
"@atproto/oauth-client-node": "^0.2.24",
"@atproto/sync": "^0.1.26",
"@atproto/syntax": "^0.4.0",
"@atproto/xrpc-server": "^0.8.0",
···
}
},
"node_modules/@atproto-labs/did-resolver": {
-
"version": "0.1.13",
-
"resolved": "https://registry.npmjs.org/@atproto-labs/did-resolver/-/did-resolver-0.1.13.tgz",
-
"integrity": "sha512-DG3YNaCKc6PAIv1Gsz3E1Kufw2t14OBxe4LdKK7KKLCNoex51hm+A5yMevShe3BSll+QosqWYIEgkPSc5xBoGQ==",
"license": "MIT",
"dependencies": {
"@atproto-labs/fetch": "0.2.3",
···
}
},
"node_modules/@atproto-labs/handle-resolver": {
-
"version": "0.1.8",
-
"resolved": "https://registry.npmjs.org/@atproto-labs/handle-resolver/-/handle-resolver-0.1.8.tgz",
-
"integrity": "sha512-Y0ckccoCGDo/3g4thPkgp9QcORmc+qqEaCBCYCZYtfLIQp4775u22wd+4fyEyJP4DqoReKacninkICgRGfs3dQ==",
"license": "MIT",
"dependencies": {
"@atproto-labs/simple-store": "0.2.0",
···
}
},
"node_modules/@atproto-labs/handle-resolver-node": {
-
"version": "0.1.16",
-
"resolved": "https://registry.npmjs.org/@atproto-labs/handle-resolver-node/-/handle-resolver-node-0.1.16.tgz",
-
"integrity": "sha512-i2F989zjyC7b/odrV3/tOpIT1IDIxR3F0khPG4REfOWcmJ89QcP8BiejJ6KFJk3hbTJHq6X9/pTG1vesCvyIKA==",
"license": "MIT",
"dependencies": {
"@atproto-labs/fetch-node": "0.1.9",
-
"@atproto-labs/handle-resolver": "0.1.8",
"@atproto/did": "0.1.5"
},
"engines": {
···
}
},
"node_modules/@atproto-labs/identity-resolver": {
-
"version": "0.1.18",
-
"resolved": "https://registry.npmjs.org/@atproto-labs/identity-resolver/-/identity-resolver-0.1.18.tgz",
-
"integrity": "sha512-DArYXP1hzZJIBcojun0CWEF+TjAhlGKcVq/RwLiGfY1mKq2yPjCiXyHj+5L0+z9jBSZiAB7L65JgcjI2+MFiRg==",
"license": "MIT",
"dependencies": {
-
"@atproto-labs/did-resolver": "0.1.13",
-
"@atproto-labs/handle-resolver": "0.1.8",
"@atproto/syntax": "0.4.0"
}
},
···
}
},
"node_modules/@atproto/jwk": {
-
"version": "0.3.0",
-
"resolved": "https://registry.npmjs.org/@atproto/jwk/-/jwk-0.3.0.tgz",
-
"integrity": "sha512-MIAXyNMGu1tCNHjqW/8jqfE/wgWCIoK2cJ0mR6UxwhNPvkbe35TcpRYJdtQu/E6MUd7TziyDBa/GO4dKAiePhQ==",
"license": "MIT",
"dependencies": {
"multiformats": "^9.9.0",
···
}
},
"node_modules/@atproto/jwk-jose": {
-
"version": "0.1.8",
-
"resolved": "https://registry.npmjs.org/@atproto/jwk-jose/-/jwk-jose-0.1.8.tgz",
-
"integrity": "sha512-aoU2Q0GpIl388KhCcv9YvAxNscALUv3xzLq5gjVPdJ+zmqw94nGZNcjiNvpnbfS+VQM9e2DrrTuwmDXnxfrrSA==",
"license": "MIT",
"dependencies": {
-
"@atproto/jwk": "0.3.0",
"jose": "^5.2.0"
}
},
"node_modules/@atproto/jwk-webcrypto": {
-
"version": "0.1.8",
-
"resolved": "https://registry.npmjs.org/@atproto/jwk-webcrypto/-/jwk-webcrypto-0.1.8.tgz",
-
"integrity": "sha512-oOW/G40f6M0NbTOo8uZgiSsFtcvlfNFldyxm+V+fVo5yKe6cvgvPNqckpqMsoBe6JYfImdc/zdVak9fCSSh41A==",
"license": "MIT",
"dependencies": {
-
"@atproto/jwk": "0.3.0",
-
"@atproto/jwk-jose": "0.1.8",
"zod": "^3.23.8"
}
},
···
}
},
"node_modules/@atproto/oauth-client": {
-
"version": "0.4.0",
-
"resolved": "https://registry.npmjs.org/@atproto/oauth-client/-/oauth-client-0.4.0.tgz",
-
"integrity": "sha512-uWVnlhennWkgvzqP0l53sFaw6DM6B4zmq0fv1xs05vt56Sjly8YirAj0GVDXlb37/BQRJQ1WOBzJVYDI3bH9uw==",
"license": "MIT",
"dependencies": {
-
"@atproto-labs/did-resolver": "0.1.13",
"@atproto-labs/fetch": "0.2.3",
-
"@atproto-labs/handle-resolver": "0.1.8",
-
"@atproto-labs/identity-resolver": "0.1.18",
"@atproto-labs/simple-store": "0.2.0",
"@atproto-labs/simple-store-memory": "0.1.3",
"@atproto/did": "0.1.5",
-
"@atproto/jwk": "0.3.0",
-
"@atproto/oauth-types": "0.3.0",
"@atproto/xrpc": "0.7.0",
"multiformats": "^9.9.0",
"zod": "^3.23.8"
}
},
"node_modules/@atproto/oauth-client-node": {
-
"version": "0.2.24",
-
"resolved": "https://registry.npmjs.org/@atproto/oauth-client-node/-/oauth-client-node-0.2.24.tgz",
-
"integrity": "sha512-WsUiFkHjlm80J2d4czP7msYZoxvKB4hDpZGw34RgMD4VLA2jt03GMH4wTQPIZxfV3/9yrgMoOW/BDC9Iv4MavA==",
"license": "MIT",
"dependencies": {
-
"@atproto-labs/did-resolver": "0.1.13",
-
"@atproto-labs/handle-resolver-node": "0.1.16",
"@atproto-labs/simple-store": "0.2.0",
"@atproto/did": "0.1.5",
-
"@atproto/jwk": "0.3.0",
-
"@atproto/jwk-jose": "0.1.8",
-
"@atproto/jwk-webcrypto": "0.1.8",
-
"@atproto/oauth-client": "0.4.0",
-
"@atproto/oauth-types": "0.3.0"
},
"engines": {
"node": ">=18.7.0"
}
},
"node_modules/@atproto/oauth-types": {
-
"version": "0.3.0",
-
"resolved": "https://registry.npmjs.org/@atproto/oauth-types/-/oauth-types-0.3.0.tgz",
-
"integrity": "sha512-ptfsJARKODXfuOoDQag4a6PpEkDEj4Urz3jOmnQZy2YspPc/TNm1o0HglU0YehELv1vfhh9gEz40BJztPPhiLA==",
"license": "MIT",
"dependencies": {
-
"@atproto/jwk": "0.3.0",
"zod": "^3.23.8"
}
},
···
"@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/sync": "^0.1.26",
"@atproto/syntax": "^0.4.0",
"@atproto/xrpc-server": "^0.8.0",
···
}
},
"node_modules/@atproto-labs/did-resolver": {
+
"version": "0.2.0",
+
"resolved": "https://registry.npmjs.org/@atproto-labs/did-resolver/-/did-resolver-0.2.0.tgz",
+
"integrity": "sha512-y9GOx2gUETynDKmANnBrU5DTf+u0AwKBJpGns1vDDOYMdLdRCFIeYy3UH+TI8YOkcEazjgF5Q3m+LjwriE1KqQ==",
"license": "MIT",
"dependencies": {
"@atproto-labs/fetch": "0.2.3",
···
}
},
"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==",
"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==",
"license": "MIT",
"dependencies": {
"@atproto-labs/fetch-node": "0.1.9",
+
"@atproto-labs/handle-resolver": "0.2.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==",
"license": "MIT",
"dependencies": {
+
"@atproto-labs/did-resolver": "0.2.0",
+
"@atproto-labs/handle-resolver": "0.2.0",
"@atproto/syntax": "0.4.0"
}
},
···
}
},
"node_modules/@atproto/jwk": {
+
"version": "0.4.0",
+
"resolved": "https://registry.npmjs.org/@atproto/jwk/-/jwk-0.4.0.tgz",
+
"integrity": "sha512-tvp4iZrzqEzKCeTOKz50/o6WdsZzOuWmWjF6On5QAp04fLwLpsFu2Hixgx/lA1KBO0O4sns7YSGcAqSSX6Rdog==",
"license": "MIT",
"dependencies": {
"multiformats": "^9.9.0",
···
}
},
"node_modules/@atproto/jwk-jose": {
+
"version": "0.1.9",
+
"resolved": "https://registry.npmjs.org/@atproto/jwk-jose/-/jwk-jose-0.1.9.tgz",
+
"integrity": "sha512-HT9GcUe6htDxI5OSYXWdeS6QZ9lpuDDvJk508ppi8a48E/1f8eumoM0QhgbFRF9IKAnnFrtnZDOAvljQzFKwwQ==",
"license": "MIT",
"dependencies": {
+
"@atproto/jwk": "0.4.0",
"jose": "^5.2.0"
}
},
"node_modules/@atproto/jwk-webcrypto": {
+
"version": "0.1.9",
+
"resolved": "https://registry.npmjs.org/@atproto/jwk-webcrypto/-/jwk-webcrypto-0.1.9.tgz",
+
"integrity": "sha512-ecciePHT0JEDZNAbMKSkdqoBYsjvhwuVno0jsS600SZmuvi2fAMhGraDZ5ZOO5M0hHHBiDbN7Ar/qcnIwyoxsA==",
"license": "MIT",
"dependencies": {
+
"@atproto/jwk": "0.4.0",
+
"@atproto/jwk-jose": "0.1.9",
"zod": "^3.23.8"
}
},
···
}
},
"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==",
"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/simple-store": "0.2.0",
"@atproto-labs/simple-store-memory": "0.1.3",
"@atproto/did": "0.1.5",
+
"@atproto/jwk": "0.4.0",
+
"@atproto/oauth-types": "0.3.1",
"@atproto/xrpc": "0.7.0",
"multiformats": "^9.9.0",
"zod": "^3.23.8"
}
},
"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==",
"license": "MIT",
"dependencies": {
+
"@atproto-labs/did-resolver": "0.2.0",
+
"@atproto-labs/handle-resolver-node": "0.1.17",
"@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-types": "0.3.1"
},
"engines": {
"node": ">=18.7.0"
}
},
"node_modules/@atproto/oauth-types": {
+
"version": "0.3.1",
+
"resolved": "https://registry.npmjs.org/@atproto/oauth-types/-/oauth-types-0.3.1.tgz",
+
"integrity": "sha512-l8ahtm74lmBOs5boi5q7mqzF2D37+cIYqVmbCrpexNeJfg2BXu0sBxREt0ADxP25Td9pX+u6FnefCOQtI/YAZw==",
"license": "MIT",
"dependencies": {
+
"@atproto/jwk": "0.4.0",
"zod": "^3.23.8"
}
},
+2 -2
package.json
···
"@atproto/api": "^0.15.6",
"@atproto/common": "^0.4.11",
"@atproto/identity": "^0.4.8",
-
"@atproto/jwk-jose": "^0.1.8",
"@atproto/lexicon": "^0.4.11",
-
"@atproto/oauth-client-node": "^0.2.24",
"@atproto/sync": "^0.1.26",
"@atproto/syntax": "^0.4.0",
"@atproto/xrpc-server": "^0.8.0",
···
"@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/sync": "^0.1.26",
"@atproto/syntax": "^0.4.0",
"@atproto/xrpc-server": "^0.8.0",
+2 -4
src/auth/client.ts
···
-
import assert from 'node:assert'
import { Keyset } from '@atproto/jwk'
import { JoseKey } from '@atproto/jwk-jose'
import {
-
AppViewHandleResolver,
atprotoLoopbackClientMetadata,
-
DidResolverCommon,
NodeOAuthClient,
OAuthClientMetadataInput,
} from '@atproto/oauth-client-node'
import type { Database } from '#/db'
import { env } from '#/env'
···
response_types: ['code'],
application_type: 'web',
token_endpoint_auth_method: pk ? 'private_key_jwt' : 'none',
-
token_endpoint_auth_signing_alg: pk ? pk[1] : undefined,
dpop_bound_access_tokens: true,
}
: atprotoLoopbackClientMetadata(
···
import { Keyset } from '@atproto/jwk'
import { JoseKey } from '@atproto/jwk-jose'
import {
atprotoLoopbackClientMetadata,
NodeOAuthClient,
OAuthClientMetadataInput,
} from '@atproto/oauth-client-node'
+
import assert from 'node:assert'
import type { Database } from '#/db'
import { env } from '#/env'
···
response_types: ['code'],
application_type: 'web',
token_endpoint_auth_method: pk ? 'private_key_jwt' : 'none',
+
token_endpoint_auth_signing_alg: pk ? pk.alg : undefined,
dpop_bound_access_tokens: true,
}
: atprotoLoopbackClientMetadata(