@atproto/oauth-provider 0.1.3 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/account/account.d.ts +6 -2
  3. package/dist/account/account.d.ts.map +1 -1
  4. package/dist/assets/app/bundle-manifest.json +3 -3
  5. package/dist/assets/app/main.css +1 -1
  6. package/dist/assets/app/main.js +1 -1
  7. package/dist/assets/app/main.js.map +1 -1
  8. package/dist/assets/assets-middleware.d.ts +2 -1
  9. package/dist/assets/assets-middleware.d.ts.map +1 -1
  10. package/dist/assets/assets-middleware.js +7 -0
  11. package/dist/assets/assets-middleware.js.map +1 -1
  12. package/dist/client/client-manager.d.ts +4 -3
  13. package/dist/client/client-manager.d.ts.map +1 -1
  14. package/dist/client/client-manager.js +60 -37
  15. package/dist/client/client-manager.js.map +1 -1
  16. package/dist/client/client.d.ts.map +1 -1
  17. package/dist/client/client.js +1 -3
  18. package/dist/client/client.js.map +1 -1
  19. package/dist/constants.d.ts +2 -0
  20. package/dist/constants.d.ts.map +1 -1
  21. package/dist/constants.js +3 -1
  22. package/dist/constants.js.map +1 -1
  23. package/dist/device/device-manager.d.ts +1 -1
  24. package/dist/device/device-manager.d.ts.map +1 -1
  25. package/dist/device/device-manager.js +2 -2
  26. package/dist/device/device-manager.js.map +1 -1
  27. package/dist/errors/invalid-authorization-details-error.d.ts +4 -3
  28. package/dist/errors/invalid-authorization-details-error.d.ts.map +1 -1
  29. package/dist/errors/invalid-authorization-details-error.js +4 -4
  30. package/dist/errors/invalid-authorization-details-error.js.map +1 -1
  31. package/dist/lib/http/request.d.ts +3 -0
  32. package/dist/lib/http/request.d.ts.map +1 -1
  33. package/dist/lib/http/request.js +24 -12
  34. package/dist/lib/http/request.js.map +1 -1
  35. package/dist/metadata/build-metadata.d.ts +0 -1
  36. package/dist/metadata/build-metadata.d.ts.map +1 -1
  37. package/dist/metadata/build-metadata.js +9 -35
  38. package/dist/metadata/build-metadata.js.map +1 -1
  39. package/dist/oauth-hooks.d.ts +3 -10
  40. package/dist/oauth-hooks.d.ts.map +1 -1
  41. package/dist/oauth-provider.d.ts +8 -13
  42. package/dist/oauth-provider.d.ts.map +1 -1
  43. package/dist/oauth-provider.js +169 -109
  44. package/dist/oauth-provider.js.map +1 -1
  45. package/dist/oauth-verifier.d.ts +1 -2
  46. package/dist/oauth-verifier.d.ts.map +1 -1
  47. package/dist/oauth-verifier.js.map +1 -1
  48. package/dist/output/build-authorize-data.d.ts +6 -0
  49. package/dist/output/build-authorize-data.d.ts.map +1 -1
  50. package/dist/output/build-authorize-data.js +1 -0
  51. package/dist/output/build-authorize-data.js.map +1 -1
  52. package/dist/replay/replay-manager.d.ts +1 -0
  53. package/dist/replay/replay-manager.d.ts.map +1 -1
  54. package/dist/replay/replay-manager.js +3 -0
  55. package/dist/replay/replay-manager.js.map +1 -1
  56. package/dist/replay/replay-store.d.ts +1 -1
  57. package/dist/request/request-info.d.ts +2 -0
  58. package/dist/request/request-info.d.ts.map +1 -1
  59. package/dist/request/request-manager.d.ts +3 -9
  60. package/dist/request/request-manager.d.ts.map +1 -1
  61. package/dist/request/request-manager.js +52 -77
  62. package/dist/request/request-manager.js.map +1 -1
  63. package/dist/request/types.d.ts +10 -10
  64. package/dist/signer/signed-token-payload.d.ts +85 -85
  65. package/dist/signer/signer.d.ts +23 -30
  66. package/dist/signer/signer.d.ts.map +1 -1
  67. package/dist/signer/signer.js +0 -40
  68. package/dist/signer/signer.js.map +1 -1
  69. package/dist/token/token-claims.d.ts +81 -81
  70. package/dist/token/token-manager.d.ts +1 -2
  71. package/dist/token/token-manager.d.ts.map +1 -1
  72. package/dist/token/token-manager.js +10 -37
  73. package/dist/token/token-manager.js.map +1 -1
  74. package/dist/token/types.d.ts +10 -10
  75. package/package.json +2 -3
  76. package/src/account/account.ts +11 -7
  77. package/src/assets/app/backend-data.ts +9 -2
  78. package/src/assets/app/components/accept-form.tsx +65 -51
  79. package/src/assets/app/components/client-name.tsx +24 -16
  80. package/src/assets/app/components/url-viewer.tsx +3 -3
  81. package/src/assets/app/views/accept-view.tsx +7 -4
  82. package/src/assets/app/views/authorize-view.tsx +2 -1
  83. package/src/assets/assets-middleware.ts +14 -2
  84. package/src/client/client-manager.ts +78 -60
  85. package/src/client/client.ts +1 -4
  86. package/src/constants.ts +3 -0
  87. package/src/device/device-manager.ts +7 -1
  88. package/src/errors/invalid-authorization-details-error.ts +9 -4
  89. package/src/lib/http/request.ts +61 -15
  90. package/src/metadata/build-metadata.ts +9 -42
  91. package/src/oauth-hooks.ts +3 -13
  92. package/src/oauth-provider.ts +181 -159
  93. package/src/oauth-verifier.ts +1 -2
  94. package/src/output/build-authorize-data.ts +8 -0
  95. package/src/replay/replay-manager.ts +9 -0
  96. package/src/replay/replay-store.ts +1 -1
  97. package/src/request/request-info.ts +2 -0
  98. package/src/request/request-manager.ts +81 -107
  99. package/src/signer/signer.ts +0 -63
  100. package/src/token/token-manager.ts +8 -41
  101. package/dist/oidc/claims.d.ts +0 -16
  102. package/dist/oidc/claims.d.ts.map +0 -1
  103. package/dist/oidc/claims.js +0 -29
  104. package/dist/oidc/claims.js.map +0 -1
  105. package/dist/oidc/userinfo.d.ts +0 -7
  106. package/dist/oidc/userinfo.d.ts.map +0 -1
  107. package/dist/oidc/userinfo.js +0 -3
  108. package/dist/oidc/userinfo.js.map +0 -1
  109. package/dist/parameters/claims-requested.d.ts +0 -3
  110. package/dist/parameters/claims-requested.d.ts.map +0 -1
  111. package/dist/parameters/claims-requested.js +0 -77
  112. package/dist/parameters/claims-requested.js.map +0 -1
  113. package/dist/parameters/oidc-payload.d.ts +0 -31
  114. package/dist/parameters/oidc-payload.d.ts.map +0 -1
  115. package/dist/parameters/oidc-payload.js +0 -25
  116. package/dist/parameters/oidc-payload.js.map +0 -1
  117. package/src/assets/app/components/client-identifier.tsx +0 -31
  118. package/src/oidc/claims.ts +0 -35
  119. package/src/oidc/userinfo.ts +0 -11
  120. package/src/parameters/claims-requested.ts +0 -106
  121. package/src/parameters/oidc-payload.ts +0 -28
@@ -1,4 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.OAuthProvider = exports.Keyset = void 0;
4
27
  const fetch_node_1 = require("@atproto-labs/fetch-node");
@@ -6,7 +29,7 @@ const simple_store_memory_1 = require("@atproto-labs/simple-store-memory");
6
29
  const jwk_1 = require("@atproto/jwk");
7
30
  Object.defineProperty(exports, "Keyset", { enumerable: true, get: function () { return jwk_1.Keyset; } });
8
31
  const oauth_types_1 = require("@atproto/oauth-types");
9
- const zod_1 = require("zod");
32
+ const zod_1 = __importStar(require("zod"));
10
33
  const access_token_type_js_1 = require("./access-token/access-token-type.js");
11
34
  const account_manager_js_1 = require("./account/account-manager.js");
12
35
  const account_store_js_1 = require("./account/account-store.js");
@@ -36,7 +59,6 @@ const oauth_verifier_js_1 = require("./oauth-verifier.js");
36
59
  const build_error_payload_js_1 = require("./output/build-error-payload.js");
37
60
  const output_manager_js_1 = require("./output/output-manager.js");
38
61
  const send_authorize_redirect_js_1 = require("./output/send-authorize-redirect.js");
39
- const oidc_payload_js_1 = require("./parameters/oidc-payload.js");
40
62
  const replay_store_js_1 = require("./replay/replay-store.js");
41
63
  const request_manager_js_1 = require("./request/request-manager.js");
42
64
  const request_store_memory_js_1 = require("./request/request-store-memory.js");
@@ -79,7 +101,7 @@ class OAuthProvider extends oauth_verifier_js_1.OAuthVerifier {
79
101
  this.customization = customization;
80
102
  this.deviceStore = deviceStore;
81
103
  this.accountManager = new account_manager_js_1.AccountManager(accountStore);
82
- this.clientManager = new client_manager_js_1.ClientManager(this.keyset, rest, clientStore || null, loopbackMetadata || null, safeFetch, clientJwksCache, clientMetadataCache);
104
+ this.clientManager = new client_manager_js_1.ClientManager(this.metadata, this.keyset, rest, clientStore || null, loopbackMetadata || null, safeFetch, clientJwksCache, clientMetadataCache);
83
105
  this.requestManager = new request_manager_js_1.RequestManager(requestStore, this.signer, this.metadata, rest);
84
106
  this.tokenManager = new token_manager_js_1.TokenManager(tokenStore, this.signer, rest, this.accessTokenType, tokenMaxAge);
85
107
  }
@@ -93,14 +115,7 @@ class OAuthProvider extends oauth_verifier_js_1.OAuthVerifier {
93
115
  if (!Number.isFinite(authAge) || authAge < 0) {
94
116
  return true;
95
117
  }
96
- /** in seconds */
97
- const maxAge = parameters.max_age ?? client.metadata.default_max_age;
98
- if (maxAge != null && maxAge < this.authenticationMaxAge) {
99
- return authAge >= maxAge;
100
- }
101
- else {
102
- return authAge >= this.authenticationMaxAge;
103
- }
118
+ return authAge >= this.authenticationMaxAge;
104
119
  }
105
120
  async authenticateClient(client, credentials) {
106
121
  const { clientAuth, nonce } = await client.verifyCredentials(credentials, {
@@ -222,8 +237,8 @@ class OAuthProvider extends oauth_verifier_js_1.OAuthVerifier {
222
237
  if (ssoSession.consentRequired) {
223
238
  throw new consent_required_error_js_1.ConsentRequiredError(parameters);
224
239
  }
225
- const redirect = await this.requestManager.setAuthorized(client, uri, deviceId, ssoSession.account, ssoSession.info);
226
- return { issuer, client, parameters, redirect };
240
+ const code = await this.requestManager.setAuthorized(client, uri, deviceId, ssoSession.account);
241
+ return { issuer, client, parameters, redirect: { code } };
227
242
  }
228
243
  // Automatic SSO when a did was provided
229
244
  if (parameters.prompt == null && parameters.login_hint != null) {
@@ -231,8 +246,8 @@ class OAuthProvider extends oauth_verifier_js_1.OAuthVerifier {
231
246
  if (ssoSessions.length === 1) {
232
247
  const ssoSession = ssoSessions[0];
233
248
  if (!ssoSession.loginRequired && !ssoSession.consentRequired) {
234
- const redirect = await this.requestManager.setAuthorized(client, uri, deviceId, ssoSession.account, ssoSession.info);
235
- return { issuer, client, parameters, redirect };
249
+ const code = await this.requestManager.setAuthorized(client, uri, deviceId, ssoSession.account);
250
+ return { issuer, client, parameters, redirect: { code } };
236
251
  }
237
252
  }
238
253
  }
@@ -240,7 +255,20 @@ class OAuthProvider extends oauth_verifier_js_1.OAuthVerifier {
240
255
  issuer,
241
256
  client,
242
257
  parameters,
243
- authorize: { uri, sessions },
258
+ authorize: {
259
+ uri,
260
+ sessions,
261
+ scopeDetails: parameters.scope
262
+ ?.split(/\s+/)
263
+ .filter(Boolean)
264
+ .sort((a, b) => a.localeCompare(b))
265
+ .map((scope) => ({
266
+ scope,
267
+ // @TODO Allow to customize the scope descriptions (e.g.
268
+ // using a hook)
269
+ description: undefined,
270
+ })),
271
+ },
244
272
  };
245
273
  }
246
274
  catch (err) {
@@ -280,12 +308,28 @@ class OAuthProvider extends oauth_verifier_js_1.OAuthVerifier {
280
308
  loginRequired: parameters.prompt === 'login' ||
281
309
  this.loginRequired(client, parameters, info),
282
310
  consentRequired: parameters.prompt === 'consent' ||
311
+ // @TODO the "authorizedClients" should also include the scopes that
312
+ // were already authorized for the client. Otherwise a client could
313
+ // use silent authentication to get additional scopes without consent.
283
314
  !info.authorizedClients.includes(client.id),
284
315
  matchesHint: hint == null || matchesHint(account),
285
316
  }));
286
317
  }
287
- async signIn(deviceId, credentials) {
288
- return this.accountManager.signIn(credentials, deviceId);
318
+ async signIn(deviceId, uri, clientId, credentials) {
319
+ const client = await this.clientManager.getClient(clientId);
320
+ // Ensure the request is still valid (and update the request expiration)
321
+ // @TODO use the returned scopes to determine if consent is required
322
+ await this.requestManager.get(uri, clientId, deviceId);
323
+ const { account, info } = await this.accountManager.signIn(credentials, deviceId);
324
+ return {
325
+ account,
326
+ consentRequired: client.info.isFirstParty
327
+ ? false
328
+ : // @TODO: the "authorizedClients" should also include the scopes that
329
+ // were already authorized for the client. Otherwise a client could
330
+ // use silent authentication to get additional scopes without consent.
331
+ !info.authorizedClients.includes(client.id),
332
+ };
289
333
  }
290
334
  async acceptRequest(deviceId, uri, clientId, sub) {
291
335
  const { issuer } = this;
@@ -298,9 +342,9 @@ class OAuthProvider extends oauth_verifier_js_1.OAuthVerifier {
298
342
  if (this.loginRequired(client, parameters, info)) {
299
343
  throw new login_required_error_js_1.LoginRequiredError(parameters, 'Account authentication required.');
300
344
  }
301
- const redirect = await this.requestManager.setAuthorized(client, uri, deviceId, account, info);
345
+ const code = await this.requestManager.setAuthorized(client, uri, deviceId, account);
302
346
  await this.accountManager.addAuthorizedClient(deviceId, account, client, clientAuth);
303
- return { issuer, client, parameters, redirect };
347
+ return { issuer, client, parameters, redirect: { code } };
304
348
  }
305
349
  catch (err) {
306
350
  await this.deleteRequest(uri, parameters);
@@ -354,6 +398,26 @@ class OAuthProvider extends oauth_verifier_js_1.OAuthVerifier {
354
398
  async codeGrant(client, clientAuth, input, dpopJkt) {
355
399
  try {
356
400
  const { sub, deviceId, parameters } = await this.requestManager.findCode(client, clientAuth, input.code);
401
+ // the following check prevents re-use of PKCE challenges, enforcing the
402
+ // clients to generate a new challenge for each authorization request. The
403
+ // replay manager typically prevents replay over a certain time frame,
404
+ // which might not cover the entire lifetime of the token (depending on
405
+ // the implementation of the replay store). For this reason, we should
406
+ // ideally ensure that the code_challenge was not already used by any
407
+ // existing token or any other pending request.
408
+ //
409
+ // The current implementation will cause client devs not issuing a new
410
+ // code challenge for each authorization request to fail, which should be
411
+ // a good enough incentive to follow the best practices, until we have a
412
+ // better implementation.
413
+ //
414
+ // @TODO: Use tokenManager to ensure uniqueness of code_challenge
415
+ if (parameters.code_challenge) {
416
+ const unique = await this.replayManager.uniqueCodeChallenge(parameters.code_challenge);
417
+ if (!unique) {
418
+ throw new invalid_grant_error_js_1.InvalidGrantError('code_challenge', 'Code challenge already used');
419
+ }
420
+ }
357
421
  const { account, info } = await this.accountManager.get(deviceId, sub);
358
422
  return await this.tokenManager.create(client, clientAuth, account, { id: deviceId, info }, parameters, input, dpopJkt);
359
423
  }
@@ -420,24 +484,6 @@ class OAuthProvider extends oauth_verifier_js_1.OAuthVerifier {
420
484
  };
421
485
  }
422
486
  }
423
- /**
424
- * @see {@link https://openid.net/specs/openid-connect-core-1_0.html#rfc.section.5.3.2 Successful UserInfo Response}
425
- */
426
- async userinfo({ data, account }) {
427
- return {
428
- ...(0, oidc_payload_js_1.oidcPayload)(data.parameters, account),
429
- sub: account.sub,
430
- client_id: data.clientId,
431
- username: account.preferred_username,
432
- };
433
- }
434
- async signUserinfo(userinfo) {
435
- const client = await this.clientManager.getClient(userinfo.client_id);
436
- return this.signer.sign({
437
- alg: client.metadata.userinfo_signed_response_alg,
438
- typ: 'JWT',
439
- }, userinfo);
440
- }
441
487
  async authenticateToken(tokenType, token, dpopJkt, verifyOptions) {
442
488
  if ((0, token_id_js_1.isTokenId)(token)) {
443
489
  this.assertTokenTypeAllowed(tokenType, access_token_type_js_1.AccessTokenType.id);
@@ -471,6 +517,7 @@ class OAuthProvider extends oauth_verifier_js_1.OAuthVerifier {
471
517
  const staticJson = (json) => (0, index_js_1.combineMiddlewares)([
472
518
  function (req, res, next) {
473
519
  res.setHeader('Access-Control-Allow-Origin', '*');
520
+ res.setHeader('Access-Control-Allow-Headers', '*');
474
521
  res.setHeader('Cache-Control', 'max-age=300');
475
522
  next();
476
523
  },
@@ -482,6 +529,7 @@ class OAuthProvider extends oauth_verifier_js_1.OAuthVerifier {
482
529
  */
483
530
  const jsonHandler = (buildJson, status) => async function (req, res) {
484
531
  res.setHeader('Access-Control-Allow-Origin', '*');
532
+ res.setHeader('Access-Control-Allow-Headers', '*');
485
533
  // https://www.rfc-editor.org/rfc/rfc6749.html#section-5.1
486
534
  res.setHeader('Cache-Control', 'no-store');
487
535
  res.setHeader('Pragma', 'no-cache');
@@ -519,10 +567,13 @@ class OAuthProvider extends oauth_verifier_js_1.OAuthVerifier {
519
567
  }
520
568
  };
521
569
  const navigationHandler = (handler) => async function (req, res) {
570
+ res.setHeader('Access-Control-Allow-Origin', '*');
571
+ res.setHeader('Access-Control-Allow-Headers', '*');
522
572
  res.setHeader('Cache-Control', 'no-store');
523
573
  res.setHeader('Pragma', 'no-cache');
524
574
  try {
525
575
  (0, index_js_1.validateFetchMode)(req, res, ['navigate']);
576
+ (0, index_js_1.validateFetchDest)(req, res, ['document']);
526
577
  (0, index_js_1.validateSameOrigin)(req, res, issuerOrigin);
527
578
  await handler.call(this, req, res);
528
579
  // Should never happen (fool proofing)
@@ -538,48 +589,56 @@ class OAuthProvider extends oauth_verifier_js_1.OAuthVerifier {
538
589
  }
539
590
  };
540
591
  //- Public OAuth endpoints
541
- /*
542
- * Although OpenID compatibility is not required to implement the Atproto
543
- * OAuth2 specification, we do support OIDC discovery in this
544
- * implementation as we believe this may:
545
- * 1) Make the implementation of Atproto clients easier (since lots of
546
- * libraries support OIDC discovery)
547
- * 2) Allow self hosted PDS' to not implement authentication themselves
548
- * but rely on a trusted Atproto actor to act as their OIDC providers.
549
- * By supporting OIDC in the current implementation, Bluesky's
550
- * Authorization Server server can be used as an OIDC provider for
551
- * these users.
552
- */
553
- router.get('/.well-known/openid-configuration', staticJson(server.metadata));
554
592
  router.get('/.well-known/oauth-authorization-server', staticJson(server.metadata));
555
593
  // CORS preflight
556
- router.options(/^\/oauth\/(?<endpoint>jwks|par|token|revoke|introspect|userinfo)$/, function (req, res, _next) {
594
+ const corsPreflight = function (req, res, _next) {
557
595
  res
558
596
  .writeHead(204, {
559
- 'Access-Control-Allow-Origin': req.headers['origin'] || '*',
560
- 'Access-Control-Allow-Methods': this.params.endpoint === 'jwks' ? 'GET' : 'POST',
597
+ // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin
598
+ //
599
+ // > For requests without credentials, the literal value "*" can be
600
+ // > specified as a wildcard; the value tells browsers to allow
601
+ // > requesting code from any origin to access the resource.
602
+ // > Attempting to use the wildcard with credentials results in an
603
+ // > error.
604
+ //
605
+ // A "*" is safer to use than reflecting the request origin.
606
+ 'Access-Control-Allow-Origin': '*',
607
+ // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Methods
608
+ // > The value "*" only counts as a special wildcard value for
609
+ // > requests without credentials (requests without HTTP cookies or
610
+ // > HTTP authentication information). In requests with credentials,
611
+ // > it is treated as the literal method name "*" without special
612
+ // > semantics.
613
+ 'Access-Control-Allow-Methods': '*',
561
614
  'Access-Control-Allow-Headers': 'Content-Type,Authorization,DPoP',
562
615
  'Access-Control-Max-Age': '86400', // 1 day
563
616
  })
564
617
  .end();
565
- });
618
+ };
566
619
  router.get('/oauth/jwks', staticJson(server.jwks));
620
+ router.options('/oauth/par', corsPreflight);
567
621
  router.post('/oauth/par', jsonHandler(async function (req, _res) {
568
- const input = await (0, index_js_1.validateRequestPayload)(req, types_js_1.pushedAuthorizationRequestSchema);
622
+ const input = await validateRequest(req, types_js_1.pushedAuthorizationRequestSchema);
569
623
  const dpopJkt = await server.checkDpopProof(req.headers['dpop'], req.method, this.url);
570
624
  return server.pushedAuthorizationRequest(input, dpopJkt);
571
625
  }, 201));
572
626
  // https://datatracker.ietf.org/doc/html/rfc9126#section-2.3
573
- router.addRoute('*', '/oauth/par', (req, res) => {
627
+ // > If the request did not use the POST method, the authorization server
628
+ // > responds with an HTTP 405 (Method Not Allowed) status code.
629
+ router.options('/oauth/par', corsPreflight);
630
+ router.all('/oauth/par', (req, res) => {
574
631
  res.writeHead(405).end();
575
632
  });
633
+ router.options('/oauth/token', corsPreflight);
576
634
  router.post('/oauth/token', jsonHandler(async function (req, _res) {
577
- const input = await (0, index_js_1.validateRequestPayload)(req, types_js_2.tokenRequestSchema);
635
+ const input = await validateRequest(req, types_js_2.tokenRequestSchema);
578
636
  const dpopJkt = await server.checkDpopProof(req.headers['dpop'], req.method, this.url);
579
637
  return server.token(input, dpopJkt);
580
638
  }));
639
+ router.options('/oauth/revoke', corsPreflight);
581
640
  router.post('/oauth/revoke', jsonHandler(async function (req, res) {
582
- const input = await (0, index_js_1.validateRequestPayload)(req, types_js_2.revokeSchema);
641
+ const input = await validateRequest(req, types_js_2.revokeSchema);
583
642
  try {
584
643
  await server.revoke(input);
585
644
  }
@@ -587,6 +646,7 @@ class OAuthProvider extends oauth_verifier_js_1.OAuthVerifier {
587
646
  onError?.(req, res, err, 'Failed to revoke token');
588
647
  }
589
648
  }));
649
+ router.options('/oauth/revoke', corsPreflight);
590
650
  router.get('/oauth/revoke', navigationHandler(async function (req, res) {
591
651
  const query = Object.fromEntries(this.url.searchParams);
592
652
  const input = types_js_2.revokeSchema.parse(query, { path: ['query'] });
@@ -601,45 +661,13 @@ class OAuthProvider extends oauth_verifier_js_1.OAuthVerifier {
601
661
  throw new Error('You are successfully logged out. Redirect not implemented');
602
662
  }));
603
663
  router.post('/oauth/introspect', jsonHandler(async function (req, _res) {
604
- const input = await (0, index_js_1.validateRequestPayload)(req, types_js_2.introspectSchema);
664
+ const input = await validateRequest(req, types_js_2.introspectSchema);
605
665
  return server.introspect(input);
606
666
  }));
607
- const userinfoBodySchema = zod_1.z.object({
608
- access_token: jwk_1.signedJwtSchema.optional(),
609
- });
610
- router.addRoute(['GET', 'POST'], '/oauth/userinfo', (0, index_js_1.acceptMiddleware)(async function (req, _res) {
611
- const body = req.method === 'POST'
612
- ? await (0, index_js_1.validateRequestPayload)(req, userinfoBodySchema)
613
- : null;
614
- if (body?.access_token && req.headers['authorization']) {
615
- throw new invalid_request_error_js_1.InvalidRequestError('access token must be provided in either the authorization header or the request body');
616
- }
617
- const auth = await server.authenticateRequest(req.method, this.url, body?.access_token // Allow credentials to be parsed from body.
618
- ? {
619
- authorization: `Bearer ${body.access_token}`,
620
- dpop: undefined, // DPoP can only be used with headers
621
- }
622
- : req.headers, {
623
- scope: ['profile'],
624
- });
625
- const tokenInfo = 'tokenInfo' in auth
626
- ? auth.tokenInfo
627
- : await server.tokenManager.getTokenInfo(auth.tokenType, auth.tokenId);
628
- return server.userinfo(tokenInfo);
629
- }, {
630
- '': 'application/json',
631
- 'application/json': jsonHandler(async function (_req, _res) {
632
- return this.data;
633
- }),
634
- 'application/jwt': jsonHandler(async function (_req, res) {
635
- const jwt = await server.signUserinfo(this.data);
636
- res.writeHead(200, { 'Content-Type': 'application/jwt' }).end(jwt);
637
- return undefined;
638
- }),
639
- }));
640
667
  //- Private authorization endpoints
641
668
  router.use((0, assets_middleware_js_1.authorizeAssetsMiddleware)());
642
669
  router.get('/oauth/authorize', navigationHandler(async function (req, res) {
670
+ (0, index_js_1.validateFetchSite)(req, res, ['cross-site', 'none']);
643
671
  const query = Object.fromEntries(this.url.searchParams);
644
672
  const input = await types_js_1.authorizationRequestQuerySchema.parseAsync(query, {
645
673
  path: ['query'],
@@ -660,37 +688,43 @@ class OAuthProvider extends oauth_verifier_js_1.OAuthVerifier {
660
688
  }
661
689
  }
662
690
  }));
663
- const signInPayloadSchema = zod_1.z.object({
664
- csrf_token: zod_1.z.string(),
691
+ const signInPayloadSchema = zod_1.default.object({
692
+ csrf_token: zod_1.default.string(),
665
693
  request_uri: request_uri_js_1.requestUriSchema,
666
694
  client_id: client_id_js_1.clientIdSchema,
667
695
  credentials: account_store_js_1.signInCredentialsSchema,
668
696
  });
697
+ router.options('/oauth/authorize/sign-in', corsPreflight);
669
698
  router.post('/oauth/authorize/sign-in', jsonHandler(async function (req, res) {
670
699
  (0, index_js_1.validateFetchMode)(req, res, ['same-origin']);
700
+ (0, index_js_1.validateFetchSite)(req, res, ['same-origin']);
671
701
  (0, index_js_1.validateSameOrigin)(req, res, issuerOrigin);
672
- const input = await (0, index_js_1.validateRequestPayload)(req, signInPayloadSchema);
702
+ const input = await validateRequest(req, signInPayloadSchema);
673
703
  (0, index_js_1.validateReferer)(req, res, {
674
704
  origin: issuerOrigin,
675
705
  pathname: '/oauth/authorize',
676
706
  });
677
707
  (0, index_js_1.validateCsrfToken)(req, res, input.csrf_token, csrfCookie(input.request_uri));
678
- const { deviceId } = await deviceManager.load(req, res);
679
- const { account, info } = await server.signIn(deviceId, input.credentials);
680
- // Prevent fixation attacks
681
- await deviceManager.rotate(req, res, deviceId);
682
- return {
683
- account,
684
- consentRequired: !info.authorizedClients.includes(input.client_id),
685
- };
708
+ const { deviceId } = await deviceManager.load(req, res, true);
709
+ return server.signIn(deviceId, input.request_uri, input.client_id, input.credentials);
686
710
  }));
687
- const acceptQuerySchema = zod_1.z.object({
688
- csrf_token: zod_1.z.string(),
711
+ const acceptQuerySchema = zod_1.default.object({
712
+ csrf_token: zod_1.default.string(),
689
713
  request_uri: request_uri_js_1.requestUriSchema,
690
714
  client_id: client_id_js_1.clientIdSchema,
691
- account_sub: zod_1.z.string(),
715
+ account_sub: zod_1.default.string(),
692
716
  });
717
+ // Though this is a "no-cors" request, meaning that the browser will allow
718
+ // any cross-origin request, with credentials, to be sent, the handler will
719
+ // 1) validate the request origin,
720
+ // 2) validate the CSRF token,
721
+ // 3) validate the referer,
722
+ // 4) validate the sec-fetch-site header,
723
+ // 4) validate the sec-fetch-mode header,
724
+ // 5) validate the sec-fetch-dest header (see navigationHandler).
725
+ // And will error if any of these checks fail.
693
726
  router.get('/oauth/authorize/accept', navigationHandler(async function (req, res) {
727
+ (0, index_js_1.validateFetchSite)(req, res, ['same-origin']);
694
728
  const query = Object.fromEntries(this.url.searchParams);
695
729
  const input = await acceptQuerySchema.parseAsync(query, {
696
730
  path: ['query'],
@@ -708,12 +742,22 @@ class OAuthProvider extends oauth_verifier_js_1.OAuthVerifier {
708
742
  const data = await server.acceptRequest(deviceId, input.request_uri, input.client_id, input.account_sub);
709
743
  return await (0, send_authorize_redirect_js_1.sendAuthorizeRedirect)(res, data);
710
744
  }));
711
- const rejectQuerySchema = zod_1.z.object({
712
- csrf_token: zod_1.z.string(),
745
+ const rejectQuerySchema = zod_1.default.object({
746
+ csrf_token: zod_1.default.string(),
713
747
  request_uri: request_uri_js_1.requestUriSchema,
714
748
  client_id: client_id_js_1.clientIdSchema,
715
749
  });
750
+ // Though this is a "no-cors" request, meaning that the browser will allow
751
+ // any cross-origin request, with credentials, to be sent, the handler will
752
+ // 1) validate the request origin,
753
+ // 2) validate the CSRF token,
754
+ // 3) validate the referer,
755
+ // 4) validate the sec-fetch-site header,
756
+ // 4) validate the sec-fetch-mode header,
757
+ // 5) validate the sec-fetch-dest header (see navigationHandler).
758
+ // And will error if any of these checks fail.
716
759
  router.get('/oauth/authorize/reject', navigationHandler(async function (req, res) {
760
+ (0, index_js_1.validateFetchSite)(req, res, ['same-origin']);
717
761
  const query = Object.fromEntries(this.url.searchParams);
718
762
  const input = await rejectQuerySchema.parseAsync(query, {
719
763
  path: ['query'],
@@ -735,4 +779,20 @@ class OAuthProvider extends oauth_verifier_js_1.OAuthVerifier {
735
779
  }
736
780
  }
737
781
  exports.OAuthProvider = OAuthProvider;
782
+ async function validateRequest(req, schema) {
783
+ try {
784
+ return await (0, index_js_1.validateRequestPayload)(req, schema);
785
+ }
786
+ catch (err) {
787
+ if (err instanceof zod_1.ZodError) {
788
+ const issue = err.issues[0];
789
+ if (issue?.path.length) {
790
+ // "part" will typically be
791
+ const [part, ...path] = issue.path;
792
+ throw new invalid_request_error_js_1.InvalidRequestError(`Validation of ${part}'s "${path.join('.')}" with error: ${issue.message}`, err);
793
+ }
794
+ }
795
+ throw new invalid_request_error_js_1.InvalidRequestError('Input validation error', err);
796
+ }
797
+ }
738
798
  //# sourceMappingURL=oauth-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-provider.js","sourceRoot":"","sources":["../src/oauth-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-provider.js","sourceRoot":"","sources":["../src/oauth-provider.ts"],"names":[],"mappings":"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"}
@@ -17,8 +17,7 @@ export type OAuthVerifierOptions = Override<DpopManagerOptions, {
17
17
  */
18
18
  issuer: URL | string;
19
19
  /**
20
- * The keyset used to sign tokens. Note that OIDC requires that at least one
21
- * RS256 key is present in the keyset. ATPROTO requires ES256.
20
+ * The keyset used to sign access tokens.
22
21
  */
23
22
  keyset: Keyset | Iterable<Key | undefined | null | false>;
24
23
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-verifier.d.ts","sourceRoot":"","sources":["../src/oauth-verifier.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,EAAe,MAAM,cAAc,CAAA;AACvD,OAAO,EACL,WAAW,EACX,cAAc,EAEf,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAA;AAElD,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AACrE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAMhD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAG1D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EAExB,MAAM,gCAAgC,CAAA;AAEvC,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CACzC,kBAAkB,EAClB;IACE;;;OAGG;IACH,MAAM,EAAE,GAAG,GAAG,MAAM,CAAA;IAEpB;;;OAGG;IACH,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,GAAG,GAAG,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC,CAAA;IAEzD;;;;;;;;;;;;;;;OAeG;IACH,eAAe,CAAC,EAAE,eAAe,CAAA;IAEjC;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,GAAG,YAAY,GAAG,MAAM,CAAA;IAErC,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B,CACF,CAAA;AAED,OAAO,EACL,eAAe,EACf,SAAS,EACT,MAAM,EACN,KAAK,WAAW,EAChB,KAAK,wBAAwB,GAC9B,CAAA;AAED,qBAAa,aAAa;IACxB,SAAgB,MAAM,EAAE,MAAM,CAAA;IAC9B,SAAgB,MAAM,EAAE,MAAM,CAAA;IAE9B,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACnD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IAC3C,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;IAC/C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;gBAErB,EACV,KAAK,EACL,MAAM,EACN,MAAM,EACN,WAE2B,EAC3B,eAAqC,EAErC,GAAG,cAAc,EAClB,EAAE,oBAAoB;IAoBhB,aAAa;IAIP,cAAc,CACzB,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GAAG,GAAG,EACjB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAgBzB,SAAS,CAAC,sBAAsB,CAC9B,SAAS,EAAE,cAAc,EACzB,eAAe,EAAE,eAAe;cAUlB,iBAAiB,CAC/B,SAAS,EAAE,cAAc,EACzB,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,aAAa,CAAC,EAAE,wBAAwB,GACvC,OAAO,CAAC,uBAAuB,CAAC;IAuBtB,mBAAmB,CAC9B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,GAAG,EACR,OAAO,EAAE;QACP,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,IAAI,CAAC,EAAE,OAAO,CAAA;KACf,EACD,aAAa,CAAC,EAAE,wBAAwB,GACvC,OAAO,CAAC,uBAAuB,CAAC;CA2BpC"}
1
+ {"version":3,"file":"oauth-verifier.d.ts","sourceRoot":"","sources":["../src/oauth-verifier.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,EAAe,MAAM,cAAc,CAAA;AACvD,OAAO,EACL,WAAW,EACX,cAAc,EAEf,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAA;AAElD,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AACrE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAMhD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAG1D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EAExB,MAAM,gCAAgC,CAAA;AAEvC,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CACzC,kBAAkB,EAClB;IACE;;;OAGG;IACH,MAAM,EAAE,GAAG,GAAG,MAAM,CAAA;IAEpB;;OAEG;IACH,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,GAAG,GAAG,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC,CAAA;IAEzD;;;;;;;;;;;;;;;OAeG;IACH,eAAe,CAAC,EAAE,eAAe,CAAA;IAEjC;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,GAAG,YAAY,GAAG,MAAM,CAAA;IAErC,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B,CACF,CAAA;AAED,OAAO,EACL,eAAe,EACf,SAAS,EACT,MAAM,EACN,KAAK,WAAW,EAChB,KAAK,wBAAwB,GAC9B,CAAA;AAED,qBAAa,aAAa;IACxB,SAAgB,MAAM,EAAE,MAAM,CAAA;IAC9B,SAAgB,MAAM,EAAE,MAAM,CAAA;IAE9B,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACnD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IAC3C,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;IAC/C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;gBAErB,EACV,KAAK,EACL,MAAM,EACN,MAAM,EACN,WAE2B,EAC3B,eAAqC,EAErC,GAAG,cAAc,EAClB,EAAE,oBAAoB;IAoBhB,aAAa;IAIP,cAAc,CACzB,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GAAG,GAAG,EACjB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAgBzB,SAAS,CAAC,sBAAsB,CAC9B,SAAS,EAAE,cAAc,EACzB,eAAe,EAAE,eAAe;cAUlB,iBAAiB,CAC/B,SAAS,EAAE,cAAc,EACzB,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,aAAa,CAAC,EAAE,wBAAwB,GACvC,OAAO,CAAC,uBAAuB,CAAC;IAuBtB,mBAAmB,CAC9B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,GAAG,EACR,OAAO,EAAE;QACP,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,IAAI,CAAC,EAAE,OAAO,CAAA;KACf,EACD,aAAa,CAAC,EAAE,wBAAwB,GACvC,OAAO,CAAC,uBAAuB,CAAC;CA2BpC"}