@tinyrack/tinyauth-server 0.0.16 → 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 (149) hide show
  1. package/dist/emails/components/email-layout.d.ts +1 -1
  2. package/dist/emails/components/email-layout.d.ts.map +1 -1
  3. package/dist/emails/templates/password-reset.d.ts +1 -1
  4. package/dist/emails/templates/password-reset.d.ts.map +1 -1
  5. package/dist/emails/templates/verification.d.ts +1 -1
  6. package/dist/emails/templates/verification.d.ts.map +1 -1
  7. package/dist/entities/background-job.entity.d.ts +42 -42
  8. package/dist/entities/background-job.entity.d.ts.map +1 -1
  9. package/dist/entities/base.entity.d.ts +8 -8
  10. package/dist/entities/base.entity.d.ts.map +1 -1
  11. package/dist/entities/bootstrap-state.entity.d.ts +15 -15
  12. package/dist/entities/bootstrap-state.entity.d.ts.map +1 -1
  13. package/dist/entities/email-verification.entity.d.ts +33 -27
  14. package/dist/entities/email-verification.entity.d.ts.map +1 -1
  15. package/dist/entities/jwt-key.entity.d.ts +36 -36
  16. package/dist/entities/jwt-key.entity.d.ts.map +1 -1
  17. package/dist/entities/oauth-client.entity.d.ts +519 -471
  18. package/dist/entities/oauth-client.entity.d.ts.map +1 -1
  19. package/dist/entities/oauth-code.entity.d.ts +519 -471
  20. package/dist/entities/oauth-code.entity.d.ts.map +1 -1
  21. package/dist/entities/password-reset.entity.d.ts +33 -27
  22. package/dist/entities/password-reset.entity.d.ts.map +1 -1
  23. package/dist/entities/pending-oauth-registration.entity.d.ts +39 -39
  24. package/dist/entities/pending-oauth-registration.entity.d.ts.map +1 -1
  25. package/dist/entities/revoked-token.entity.d.ts +519 -471
  26. package/dist/entities/revoked-token.entity.d.ts.map +1 -1
  27. package/dist/entities/scheduler-job.entity.d.ts +48 -48
  28. package/dist/entities/scheduler-job.entity.d.ts.map +1 -1
  29. package/dist/entities/terms-content.entity.d.ts +279 -249
  30. package/dist/entities/terms-content.entity.d.ts.map +1 -1
  31. package/dist/entities/terms.entity.d.ts +279 -249
  32. package/dist/entities/terms.entity.d.ts.map +1 -1
  33. package/dist/entities/user-consent.entity.d.ts +519 -471
  34. package/dist/entities/user-consent.entity.d.ts.map +1 -1
  35. package/dist/entities/user-oauth.entity.d.ts +36 -30
  36. package/dist/entities/user-oauth.entity.d.ts.map +1 -1
  37. package/dist/entities/user-passkey.entity.d.ts +45 -39
  38. package/dist/entities/user-passkey.entity.d.ts.map +1 -1
  39. package/dist/entities/user-terms-consent.entity.d.ts +279 -249
  40. package/dist/entities/user-terms-consent.entity.d.ts.map +1 -1
  41. package/dist/entities/user-totp-recovery-code.entity.d.ts +177 -159
  42. package/dist/entities/user-totp-recovery-code.entity.d.ts.map +1 -1
  43. package/dist/entities/user-totp.entity.d.ts +177 -159
  44. package/dist/entities/user-totp.entity.d.ts.map +1 -1
  45. package/dist/entities/user.entity.d.ts +177 -159
  46. package/dist/entities/user.entity.d.ts.map +1 -1
  47. package/dist/entrypoints/app.d.ts +8 -1
  48. package/dist/entrypoints/app.d.ts.map +1 -1
  49. package/dist/entrypoints/app.js +5 -0
  50. package/dist/entrypoints/app.js.map +1 -1
  51. package/dist/entrypoints/database/postgres/compiled-functions.js +1 -1
  52. package/dist/entrypoints/database/postgres/compiled-functions.js.map +1 -1
  53. package/dist/entrypoints/database/sqlite/compiled-functions.js +1 -1
  54. package/dist/entrypoints/database/sqlite/compiled-functions.js.map +1 -1
  55. package/dist/lib/config/client.d.ts.map +1 -1
  56. package/dist/lib/config/client.js +5 -1
  57. package/dist/lib/config/client.js.map +1 -1
  58. package/dist/lib/config/identity-providers.d.ts.map +1 -1
  59. package/dist/lib/config/identity-providers.js +10 -33
  60. package/dist/lib/config/identity-providers.js.map +1 -1
  61. package/dist/lib/config/url-policy.d.ts +4 -0
  62. package/dist/lib/config/url-policy.d.ts.map +1 -0
  63. package/dist/lib/config/url-policy.js +38 -0
  64. package/dist/lib/config/url-policy.js.map +1 -0
  65. package/dist/lib/pkce.d.ts.map +1 -1
  66. package/dist/lib/pkce.js +3 -0
  67. package/dist/lib/pkce.js.map +1 -1
  68. package/dist/middleware/csrf.d.ts +2 -0
  69. package/dist/middleware/csrf.d.ts.map +1 -0
  70. package/dist/middleware/csrf.js +51 -0
  71. package/dist/middleware/csrf.js.map +1 -0
  72. package/dist/repositories/revoked-token.repository.d.ts +20 -0
  73. package/dist/repositories/revoked-token.repository.d.ts.map +1 -1
  74. package/dist/repositories/revoked-token.repository.js +44 -1
  75. package/dist/repositories/revoked-token.repository.js.map +1 -1
  76. package/dist/repositories/user-passkey.repository.d.ts +45 -39
  77. package/dist/repositories/user-passkey.repository.d.ts.map +1 -1
  78. package/dist/repositories/user-totp-recovery-code.repository.d.ts +118 -106
  79. package/dist/repositories/user-totp-recovery-code.repository.d.ts.map +1 -1
  80. package/dist/repositories/user-totp.repository.d.ts +177 -159
  81. package/dist/repositories/user-totp.repository.d.ts.map +1 -1
  82. package/dist/routes/api/oauth/_provider/authorize/get.d.ts.map +1 -1
  83. package/dist/routes/api/oauth/_provider/authorize/get.js +13 -1
  84. package/dist/routes/api/oauth/_provider/authorize/get.js.map +1 -1
  85. package/dist/routes/api/oauth/_provider/callback/post.d.ts.map +1 -1
  86. package/dist/routes/api/oauth/_provider/callback/post.js +30 -1
  87. package/dist/routes/api/oauth/_provider/callback/post.js.map +1 -1
  88. package/dist/routes/index.d.ts +8 -1
  89. package/dist/routes/index.d.ts.map +1 -1
  90. package/dist/routes/oauth/.well-known/openid-configuration/get.d.ts +4 -0
  91. package/dist/routes/oauth/.well-known/openid-configuration/get.d.ts.map +1 -1
  92. package/dist/routes/oauth/.well-known/openid-configuration/get.js +25 -2
  93. package/dist/routes/oauth/.well-known/openid-configuration/get.js.map +1 -1
  94. package/dist/routes/oauth/authorize/get.d.ts +2 -0
  95. package/dist/routes/oauth/authorize/get.d.ts.map +1 -1
  96. package/dist/routes/oauth/authorize/get.js +4 -0
  97. package/dist/routes/oauth/authorize/get.js.map +1 -1
  98. package/dist/routes/oauth/index.d.ts +8 -1
  99. package/dist/routes/oauth/index.d.ts.map +1 -1
  100. package/dist/routes/oauth/introspect/post.d.ts +1 -0
  101. package/dist/routes/oauth/introspect/post.d.ts.map +1 -1
  102. package/dist/routes/oauth/token/post.d.ts +1 -1
  103. package/dist/routes/oauth/token/post.d.ts.map +1 -1
  104. package/dist/routes/oauth/token/post.js +1 -0
  105. package/dist/routes/oauth/token/post.js.map +1 -1
  106. package/dist/routes/oauth/userinfo/get.d.ts.map +1 -1
  107. package/dist/routes/oauth/userinfo/get.js +3 -0
  108. package/dist/routes/oauth/userinfo/get.js.map +1 -1
  109. package/dist/schemas/error.d.ts +75 -0
  110. package/dist/schemas/error.d.ts.map +1 -1
  111. package/dist/schemas/error.js +3 -0
  112. package/dist/schemas/error.js.map +1 -1
  113. package/dist/schemas/field.d.ts +1 -6
  114. package/dist/schemas/field.d.ts.map +1 -1
  115. package/dist/schemas/field.js +2 -3
  116. package/dist/schemas/field.js.map +1 -1
  117. package/dist/schemas/oauth.d.ts +1 -1
  118. package/dist/schemas/oauth.js +1 -1
  119. package/dist/schemas/oauth.js.map +1 -1
  120. package/dist/schemas/response.d.ts +1 -1
  121. package/dist/services/jwt.service.d.ts +5 -0
  122. package/dist/services/jwt.service.d.ts.map +1 -1
  123. package/dist/services/jwt.service.js +31 -16
  124. package/dist/services/jwt.service.js.map +1 -1
  125. package/dist/services/oauth-authorize.service.d.ts +5 -1
  126. package/dist/services/oauth-authorize.service.d.ts.map +1 -1
  127. package/dist/services/oauth-authorize.service.js +65 -16
  128. package/dist/services/oauth-authorize.service.js.map +1 -1
  129. package/dist/services/oauth-client.service.d.ts +1 -0
  130. package/dist/services/oauth-client.service.d.ts.map +1 -1
  131. package/dist/services/oauth-client.service.js +5 -0
  132. package/dist/services/oauth-client.service.js.map +1 -1
  133. package/dist/services/oauth-connect.service.d.ts +1 -0
  134. package/dist/services/oauth-connect.service.d.ts.map +1 -1
  135. package/dist/services/oauth-connect.service.js +61 -7
  136. package/dist/services/oauth-connect.service.js.map +1 -1
  137. package/dist/services/oauth-token.service.d.ts +8 -1
  138. package/dist/services/oauth-token.service.d.ts.map +1 -1
  139. package/dist/services/oauth-token.service.js +111 -30
  140. package/dist/services/oauth-token.service.js.map +1 -1
  141. package/package.json +28 -28
  142. package/public/assets/index-5_9rzim1.css +2 -0
  143. package/public/assets/index-BTGeW26-.js +75 -0
  144. package/public/assets/index-BTGeW26-.js.map +1 -0
  145. package/public/index.html +2 -2
  146. package/readme.md +74 -25
  147. package/public/assets/index-6odabbrQ.css +0 -1
  148. package/public/assets/index-CLq6d6iO.js +0 -76
  149. package/public/assets/index-CLq6d6iO.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"user-totp.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/user-totp.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,qBAAa,kBAAmB,SAAQ,gBAAgB,CAAC,eAAe,CAAC;IACvE;;;;;OAKG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM;;;;uBAyDs2e,GAAG;;;;;;2BAAH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAAH,GAAG;;;+BAAH,GAAG;;;;;;;;;+BAAH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAAH,GAAG;;;+BAAH,GAAG;;;;;;;+BAAH,GAAG;;;+BAAH,GAAG;;;;;;;;;+BAAH,GAAG;;;;mCAAH,GAAG;;;mCAAH,GAAG;;;;;;;;;;;;;;;;+BAAH,GAAG;;;+BAAH,GAAG;;;;;;;2BAAH,GAAG;;;2BAAH,GAAG;;;;;;;;;;;;;;;;uBAAH,GAAG;;;uBAAH,GAAG;;;IArD54e;;;;;;OAMG;IACG,4BAA4B,CAAC,OAAO,EAAE,MAAM;;;;uBA8Cu1e,GAAG;;;;;;2BAAH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAAH,GAAG;;;+BAAH,GAAG;;;;;;;;;+BAAH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAAH,GAAG;;;+BAAH,GAAG;;;;;;;+BAAH,GAAG;;;+BAAH,GAAG;;;;;;;;;+BAAH,GAAG;;;;mCAAH,GAAG;;;mCAAH,GAAG;;;;;;;;;;;;;;;;+BAAH,GAAG;;;+BAAH,GAAG;;;;;;;2BAAH,GAAG;;;2BAAH,GAAG;;;;;;;;;;;;;;;;uBAAH,GAAG;;;uBAAH,GAAG;;;IAvC54e;;;;;;OAMG;IACG,qBAAqB,CAAC,OAAO,EAAE,MAAM;;;;uBAgC81e,GAAG;;;;;;2BAAH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAAH,GAAG;;;+BAAH,GAAG;;;;;;;;;+BAAH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAAH,GAAG;;;+BAAH,GAAG;;;;;;;+BAAH,GAAG;;;+BAAH,GAAG;;;;;;;;;+BAAH,GAAG;;;;mCAAH,GAAG;;;mCAAH,GAAG;;;;;;;;;;;;;;;;+BAAH,GAAG;;;+BAAH,GAAG;;;;;;;2BAAH,GAAG;;;2BAAH,GAAG;;;;;;;;;;;;;;;;uBAAH,GAAG;;;uBAAH,GAAG;;;IAzB54e;;;;;OAKG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM;IASlC;;;;;OAKG;IACG,eAAe,CAAC,OAAO,EAAE,MAAM;CAGtC"}
1
+ {"version":3,"file":"user-totp.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/user-totp.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,qBAAa,kBAAmB,SAAQ,gBAAgB,CAAC,eAAe,CAAC;IACvE;;;;;OAKG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM;;;;uBAyDqvgB,GAAG;;;;;;2BAAH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAAH,GAAG;;;+BAAH,GAAG;;;;;;;;;+BAAH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAAH,GAAG;;;+BAAH,GAAG;;;;;;;+BAAH,GAAG;;;+BAAH,GAAG;;;;;;;;;+BAAH,GAAG;;;;mCAAH,GAAG;;;mCAAH,GAAG;;;;;;;;;;;;;;;;;;+BAAH,GAAG;;;+BAAH,GAAG;;;;;;;2BAAH,GAAG;;;2BAAH,GAAG;;;;;;;;;;;;;;;;uBAAH,GAAG;;;uBAAH,GAAG;;;IArD3xgB;;;;;;OAMG;IACG,4BAA4B,CAAC,OAAO,EAAE,MAAM;;;;uBA8CsugB,GAAG;;;;;;2BAAH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAAH,GAAG;;;+BAAH,GAAG;;;;;;;;;+BAAH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAAH,GAAG;;;+BAAH,GAAG;;;;;;;+BAAH,GAAG;;;+BAAH,GAAG;;;;;;;;;+BAAH,GAAG;;;;mCAAH,GAAG;;;mCAAH,GAAG;;;;;;;;;;;;;;;;;;+BAAH,GAAG;;;+BAAH,GAAG;;;;;;;2BAAH,GAAG;;;2BAAH,GAAG;;;;;;;;;;;;;;;;uBAAH,GAAG;;;uBAAH,GAAG;;;IAvC3xgB;;;;;;OAMG;IACG,qBAAqB,CAAC,OAAO,EAAE,MAAM;;;;uBAgC6ugB,GAAG;;;;;;2BAAH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAAH,GAAG;;;+BAAH,GAAG;;;;;;;;;+BAAH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAAH,GAAG;;;+BAAH,GAAG;;;;;;;+BAAH,GAAG;;;+BAAH,GAAG;;;;;;;;;+BAAH,GAAG;;;;mCAAH,GAAG;;;mCAAH,GAAG;;;;;;;;;;;;;;;;;;+BAAH,GAAG;;;+BAAH,GAAG;;;;;;;2BAAH,GAAG;;;2BAAH,GAAG;;;;;;;;;;;;;;;;uBAAH,GAAG;;;uBAAH,GAAG;;;IAzB3xgB;;;;;OAKG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM;IASlC;;;;;OAKG;IACG,eAAe,CAAC,OAAO,EAAE,MAAM;CAGtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/oauth/_provider/authorize/get.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAO5D,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;qCAwErC,CAAC"}
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/oauth/_provider/authorize/get.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAQ5D,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;qCA2FrC,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import { Hono } from 'hono';
2
+ import { setCookie } from 'hono/cookie';
2
3
  import { describeRoute, resolver, validator } from 'hono-openapi';
3
4
  import { z } from 'zod';
5
+ import { encrypt } from "../../../../../lib/crypto.js";
4
6
  import { OPENAPI_SECURITY } from "../../../../../lib/openapi.js";
5
7
  import { TAGS } from "../../../../../lib/swagger-tags.js";
6
8
  import { verifyAuth } from "../../../../../middleware/auth.js";
@@ -43,7 +45,7 @@ export const oauthProviderAuthorizeGet = new Hono().get('/oauth/:provider/author
43
45
  const { provider } = params;
44
46
  const { mode, return_url } = query;
45
47
  const session = c.var.session;
46
- const { oauthConnectService } = c.var.services;
48
+ const { config, oauthConnectService } = c.var.services;
47
49
  // Link mode requires authenticated user
48
50
  if (mode === 'link') {
49
51
  if (!c.var.verifiedUser) {
@@ -54,6 +56,16 @@ export const oauthProviderAuthorizeGet = new Hono().get('/oauth/:provider/author
54
56
  const { url, sessionData } = await oauthConnectService.generateAuthorizationUrl(provider, mode, return_url);
55
57
  // Store OAuth session data in secure session
56
58
  session.set('oauth', sessionData);
59
+ const providerConfig = oauthConnectService.getProvider(provider);
60
+ if (providerConfig.response_mode === 'form_post') {
61
+ setCookie(c, 'oauth_state', await encrypt(JSON.stringify(sessionData), config.security.session_secret), {
62
+ path: `/api/oauth/${provider}/callback`,
63
+ httpOnly: true,
64
+ secure: true,
65
+ sameSite: 'None',
66
+ maxAge: 600,
67
+ });
68
+ }
57
69
  // Redirect to OAuth provider
58
70
  return c.redirect(url);
59
71
  });
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../../../src/routes/api/oauth/_provider/authorize/get.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../../../src/routes/api/oauth/_provider/authorize/get.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/oauth/_provider/callback/post.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAiB5D,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCA4JrC,CAAC"}
1
+ {"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/oauth/_provider/callback/post.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AA4B5D,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAiLrC,CAAC"}
@@ -1,11 +1,22 @@
1
1
  import { Hono } from 'hono';
2
+ import { deleteCookie, getCookie } from 'hono/cookie';
2
3
  import { describeRoute, resolver, validator } from 'hono-openapi';
3
4
  import { z } from 'zod';
5
+ import { decrypt } from "../../../../../lib/crypto.js";
4
6
  import { TAGS } from "../../../../../lib/swagger-tags.js";
5
7
  import { verifyAuth, verifyOAuth } from "../../../../../middleware/auth.js";
6
8
  import { e, TinyAuthError } from "../../../../../schemas/error.js";
7
9
  import { f } from "../../../../../schemas/field.js";
8
10
  import { r } from "../../../../../schemas/response.js";
11
+ const OAuthStateCookieSchema = z
12
+ .object({
13
+ state: z.string(),
14
+ codeVerifier: z.string(),
15
+ providerId: z.string(),
16
+ mode: f.oauthConnectMode,
17
+ returnUrl: z.string().optional(),
18
+ })
19
+ .strict();
9
20
  const OAuthProviderCallbackFormBody = z
10
21
  .object({
11
22
  code: f.authorizationCode.optional(),
@@ -91,7 +102,22 @@ export const oauthProviderCallbackPost = new Hono().post('/oauth/:provider/callb
91
102
  const { code, state, error, error_description } = c.req.valid('form');
92
103
  const { session } = c.var;
93
104
  const { config, oauthConnectService } = c.var.services;
94
- const oauthSession = c.var.verifiedOAuth;
105
+ let oauthSession = c.var.verifiedOAuth;
106
+ const oauthStateCookiePath = `/api/oauth/${provider}/callback`;
107
+ if (!oauthSession) {
108
+ const oauthStateCookie = getCookie(c, 'oauth_state');
109
+ if (oauthStateCookie) {
110
+ const decrypted = await decrypt(oauthStateCookie, config.security.session_secret);
111
+ if (decrypted) {
112
+ try {
113
+ oauthSession = OAuthStateCookieSchema.parse(JSON.parse(decrypted));
114
+ }
115
+ catch {
116
+ oauthSession = undefined;
117
+ }
118
+ }
119
+ }
120
+ }
95
121
  // Handle OAuth error response
96
122
  if (error) {
97
123
  const errorUrl = new URL('/login', config.server.public_origin);
@@ -103,6 +129,7 @@ export const oauthProviderCallbackPost = new Hono().post('/oauth/:provider/callb
103
129
  errorUrl.searchParams.set('redirect', oauthSession.returnUrl);
104
130
  }
105
131
  session.set('oauth', undefined);
132
+ deleteCookie(c, 'oauth_state', { path: oauthStateCookiePath });
106
133
  return c.redirect(errorUrl.toString());
107
134
  }
108
135
  // Validate required parameters
@@ -125,12 +152,14 @@ export const oauthProviderCallbackPost = new Hono().post('/oauth/:provider/callb
125
152
  }
126
153
  catch (err) {
127
154
  session.set('oauth', undefined);
155
+ deleteCookie(c, 'oauth_state', { path: oauthStateCookiePath });
128
156
  if (err instanceof TinyAuthError) {
129
157
  return c.json(err.toJson(), err.status);
130
158
  }
131
159
  throw err;
132
160
  }
133
161
  session.set('oauth', undefined);
162
+ deleteCookie(c, 'oauth_state', { path: oauthStateCookiePath });
134
163
  switch (result.action) {
135
164
  case 'error_redirect':
136
165
  return c.redirect(result.url);
@@ -1 +1 @@
1
- {"version":3,"file":"post.js","sourceRoot":"","sources":["../../../../../../src/routes/api/oauth/_provider/callback/post.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"post.js","sourceRoot":"","sources":["../../../../../../src/routes/api/oauth/_provider/callback/post.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,CAAC,EAAE,MAAM,iCAAiC,CAAC;AACpD,OAAO,EAAE,CAAC,EAAE,MAAM,oCAAoC,CAAC;AAGvD,MAAM,sBAAsB,GAAG,CAAC;KAC7B,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,IAAI,EAAE,CAAC,CAAC,gBAAgB;IACxB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,6BAA6B,GAAG,CAAC;KACpC,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,iBAAiB,CAAC,QAAQ,EAAE;IACpC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE;IACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACzC,CAAC;KACD,QAAQ,CAAC,iCAAiC,CAAC,CAAC;AAE/C,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,IAAI,EAAU,CAAC,IAAI,CAC9D,2BAA2B,EAC3B,aAAa,CAAC;IACZ,IAAI,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC;IAC1B,OAAO,EAAE,uBAAuB;IAChC,WAAW,EACT,gEAAgE;IAClE,SAAS,EAAE;QACT,GAAG,EAAE;YACH,WAAW,EAAE,UAAU;SACxB;QACD,GAAG,EAAE;YACH,OAAO,EAAE;gBACP,kBAAkB,EAAE;oBAClB,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC;iBAC1C;aACF;YACD,WAAW,EAAE,SAAS;SACvB;QACD,GAAG,EAAE;YACH,OAAO,EAAE;gBACP,kBAAkB,EAAE;oBAClB,MAAM,EAAE,QAAQ,CACd,CAAC,CAAC,KAAK,CAAC;wBACN,CAAC,CAAC,kBAAkB,CAAC,MAAM;wBAC3B,CAAC,CAAC,mBAAmB,CAAC,MAAM;wBAC5B,CAAC,CAAC,mBAAmB,CAAC,MAAM;qBAC7B,CAAC,CACH;iBACF;aACF;YACD,WAAW,EAAE,qDAAqD;SACnE;QACD,GAAG,EAAE;YACH,OAAO,EAAE;gBACP,kBAAkB,EAAE;oBAClB,MAAM,EAAE,QAAQ,CACd,CAAC,CAAC,KAAK,CAAC;wBACN,CAAC,CAAC,qBAAqB,CAAC,MAAM;wBAC9B,CAAC,CAAC,2BAA2B,CAAC,MAAM;qBACrC,CAAC,CACH;iBACF;aACF;YACD,WAAW,EAAE,sDAAsD;SACpE;QACD,GAAG,EAAE;YACH,OAAO,EAAE;gBACP,kBAAkB,EAAE;oBAClB,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC;iBACjD;aACF;YACD,WAAW,EAAE,0BAA0B;SACxC;QACD,GAAG,EAAE;YACH,OAAO,EAAE;gBACP,kBAAkB,EAAE;oBAClB,MAAM,EAAE,QAAQ,CACd,CAAC,CAAC,KAAK,CAAC;wBACN,CAAC,CAAC,kBAAkB,CAAC,MAAM;wBAC3B,CAAC,CAAC,yBAAyB,CAAC,MAAM;qBACnC,CAAC,CACH;iBACF;aACF;YACD,WAAW,EAAE,0CAA0C;SACxD;QACD,GAAG,EAAE;YACH,OAAO,EAAE;gBACP,kBAAkB,EAAE;oBAClB,MAAM,EAAE,QAAQ,CACd,CAAC,CAAC,KAAK,CAAC;wBACN,CAAC,CAAC,wBAAwB,CAAC,MAAM;wBACjC,CAAC,CAAC,mBAAmB,CAAC,MAAM;qBAC7B,CAAC,CACH;iBACF;aACF;YACD,WAAW,EAAE,2CAA2C;SACzD;KACF;CACF,CAAC,EACF,SAAS,CACP,OAAO,EACP,CAAC,CAAC,MAAM,CAAC;IACP,QAAQ,EAAE,CAAC,CAAC,YAAY;CACzB,CAAC,CACH,EACD,SAAS,CAAC,MAAM,EAAE,6BAA6B,CAAC,EAChD,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAC9B,WAAW,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAC/B,KAAK,EAAE,CAAC,EAAE,EAAE;IACV,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;IACvD,IAAI,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC;IACvC,MAAM,oBAAoB,GAAG,cAAc,QAAQ,WAAW,CAAC;IAE/D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,gBAAgB,GAAG,SAAS,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;QACrD,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,MAAM,OAAO,CAC7B,gBAAgB,EAChB,MAAM,CAAC,QAAQ,CAAC,cAAc,CAC/B,CAAC;YACF,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,CAAC;oBACH,YAAY,GAAG,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;gBACrE,CAAC;gBAAC,MAAM,CAAC;oBACP,YAAY,GAAG,SAAS,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAChE,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAChD,IAAI,iBAAiB,EAAE,CAAC;YACtB,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,yBAAyB,EAAE,iBAAiB,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,YAAY,EAAE,SAAS,EAAE,CAAC;YAC5B,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAChC,YAAY,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,+BAA+B;IAC/B,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,IAAI,CAAC,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,CAAC,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI,MAA2B,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,mBAAmB,CAAC,oBAAoB,CAAC;YACtD,QAAQ;YACR,IAAI;YACJ,KAAK;YACL,YAAY;YACZ,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG;YACrC,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG;SACtB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAChC,YAAY,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAC/D,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;YACjC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAChC,YAAY,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAE/D,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,KAAK,gBAAgB;YACnB,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChC,KAAK,eAAe;YAClB,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACtC,KAAK,gBAAgB;YACnB,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChC,KAAK,sBAAsB;YACzB,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACvC,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrC,KAAK,gBAAgB;YACnB,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACvC,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,IAAI,UAAU,CAAC,CAAC;IACtD,CAAC;AACH,CAAC,CACF,CAAC"}
@@ -976,6 +976,7 @@ export declare const routes: import("hono/hono-base").HonoBase<AppEnv, import("h
976
976
  nonce?: string | string[];
977
977
  prompt?: string | string[];
978
978
  max_age?: string | string[];
979
+ reauthenticated?: string | string[];
979
980
  display?: string | string[];
980
981
  };
981
982
  };
@@ -995,6 +996,7 @@ export declare const routes: import("hono/hono-base").HonoBase<AppEnv, import("h
995
996
  nonce?: string | string[];
996
997
  prompt?: string | string[];
997
998
  max_age?: string | string[];
999
+ reauthenticated?: string | string[];
998
1000
  display?: string | string[];
999
1001
  };
1000
1002
  };
@@ -1024,7 +1026,7 @@ export declare const routes: import("hono/hono-base").HonoBase<AppEnv, import("h
1024
1026
  access_token: string;
1025
1027
  token_type: "Bearer";
1026
1028
  expires_in: number;
1027
- refresh_token: string;
1029
+ refresh_token?: string | undefined | undefined;
1028
1030
  id_token?: string | undefined | undefined;
1029
1031
  scope: string;
1030
1032
  };
@@ -1052,6 +1054,7 @@ export declare const routes: import("hono/hono-base").HonoBase<AppEnv, import("h
1052
1054
  iat?: number | undefined | undefined;
1053
1055
  sub?: string | undefined | undefined;
1054
1056
  iss?: string | undefined | undefined;
1057
+ aud?: string | undefined | undefined;
1055
1058
  };
1056
1059
  outputFormat: "json";
1057
1060
  status: 200;
@@ -1124,6 +1127,7 @@ export declare const routes: import("hono/hono-base").HonoBase<AppEnv, import("h
1124
1127
  token_endpoint: string;
1125
1128
  jwks_uri: string;
1126
1129
  response_types_supported: string[];
1130
+ response_modes_supported: string[];
1127
1131
  subject_types_supported: string[];
1128
1132
  id_token_signing_alg_values_supported: string[];
1129
1133
  userinfo_endpoint: string;
@@ -1135,6 +1139,9 @@ export declare const routes: import("hono/hono-base").HonoBase<AppEnv, import("h
1135
1139
  introspection_endpoint: string;
1136
1140
  revocation_endpoint: string;
1137
1141
  ui_locales_supported: ("en" | "ko" | "ja")[];
1142
+ request_parameter_supported: boolean;
1143
+ request_uri_parameter_supported: boolean;
1144
+ claims_parameter_supported: boolean;
1138
1145
  };
1139
1146
  outputFormat: "json";
1140
1147
  status: 200;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAKhD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCAGsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAKhD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCAGsB,CAAC"}
@@ -9,6 +9,7 @@ export declare const oidcConfigGet: import("hono/hono-base").HonoBase<AppEnv, {
9
9
  token_endpoint: string;
10
10
  jwks_uri: string;
11
11
  response_types_supported: string[];
12
+ response_modes_supported: string[];
12
13
  subject_types_supported: string[];
13
14
  id_token_signing_alg_values_supported: string[];
14
15
  userinfo_endpoint: string;
@@ -20,6 +21,9 @@ export declare const oidcConfigGet: import("hono/hono-base").HonoBase<AppEnv, {
20
21
  introspection_endpoint: string;
21
22
  revocation_endpoint: string;
22
23
  ui_locales_supported: ("en" | "ko" | "ja")[];
24
+ request_parameter_supported: boolean;
25
+ request_uri_parameter_supported: boolean;
26
+ claims_parameter_supported: boolean;
23
27
  };
24
28
  outputFormat: "json";
25
29
  status: 200;
@@ -1 +1 @@
1
- {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../../src/routes/oauth/.well-known/openid-configuration/get.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAGrD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;4CAmJzB,CAAC"}
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../../src/routes/oauth/.well-known/openid-configuration/get.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAGrD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CA8KzB,CAAC"}
@@ -26,6 +26,10 @@ export const oidcConfigGet = new Hono().get('/.well-known/openid-configuration',
26
26
  response_types_supported: z
27
27
  .array(z.string())
28
28
  .describe('JSON array containing a list of the OAuth 2.0 response_type values'),
29
+ response_modes_supported: z
30
+ .array(z.string())
31
+ .optional()
32
+ .describe('JSON array containing a list of supported response_mode values'),
29
33
  subject_types_supported: z
30
34
  .array(z.string())
31
35
  .describe('JSON array containing a list of the Subject Identifier types'),
@@ -72,6 +76,18 @@ export const oidcConfigGet = new Hono().get('/.well-known/openid-configuration',
72
76
  .array(z.string())
73
77
  .optional()
74
78
  .describe('Languages and scripts supported for the user interface'),
79
+ request_parameter_supported: z
80
+ .boolean()
81
+ .optional()
82
+ .describe('Whether request object by value is supported'),
83
+ request_uri_parameter_supported: z
84
+ .boolean()
85
+ .optional()
86
+ .describe('Whether request object by reference is supported'),
87
+ claims_parameter_supported: z
88
+ .boolean()
89
+ .optional()
90
+ .describe('Whether the claims request parameter is supported'),
75
91
  })),
76
92
  },
77
93
  },
@@ -85,8 +101,9 @@ export const oidcConfigGet = new Hono().get('/.well-known/openid-configuration',
85
101
  issuer: baseUrl,
86
102
  authorization_endpoint: `${baseUrl}/oauth/authorize`,
87
103
  token_endpoint: `${baseUrl}/oauth/token`,
88
- jwks_uri: `${baseUrl}/oauth/jwks`,
104
+ jwks_uri: `${baseUrl}/oauth/.well-known/jwks`,
89
105
  response_types_supported: ['code'],
106
+ response_modes_supported: ['query'],
90
107
  subject_types_supported: ['public'],
91
108
  id_token_signing_alg_values_supported: ['RS256'],
92
109
  userinfo_endpoint: `${baseUrl}/oauth/userinfo`,
@@ -98,6 +115,8 @@ export const oidcConfigGet = new Hono().get('/.well-known/openid-configuration',
98
115
  'exp',
99
116
  'iat',
100
117
  'nonce',
118
+ 'auth_time',
119
+ 'at_hash',
101
120
  'email',
102
121
  'email_verified',
103
122
  'name',
@@ -106,11 +125,15 @@ export const oidcConfigGet = new Hono().get('/.well-known/openid-configuration',
106
125
  token_endpoint_auth_methods_supported: [
107
126
  'client_secret_basic',
108
127
  'client_secret_post',
128
+ 'none',
109
129
  ],
110
- code_challenge_methods_supported: ['S256', 'plain'],
130
+ code_challenge_methods_supported: ['S256'],
111
131
  introspection_endpoint: `${baseUrl}/oauth/introspect`,
112
132
  revocation_endpoint: `${baseUrl}/oauth/revoke`,
113
133
  ui_locales_supported: config.i18n.supported_languages,
134
+ request_parameter_supported: false,
135
+ request_uri_parameter_supported: false,
136
+ claims_parameter_supported: false,
114
137
  };
115
138
  // Set Cache-Control header
116
139
  c.header('Cache-Control', 'public, max-age=3600');
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../../src/routes/oauth/.well-known/openid-configuration/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAEnD,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,IAAI,EAAU,CAAC,GAAG,CACjD,mCAAmC,EACnC,aAAa,CAAC;IACZ,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;IACnB,OAAO,EAAE,+BAA+B;IACxC,WAAW,EACT,kFAAkF;IACpF,SAAS,EAAE;QACT,GAAG,EAAE;YACH,OAAO,EAAE;gBACP,kBAAkB,EAAE;oBAClB,MAAM,EAAE,QAAQ,CACd,CAAC,CAAC,MAAM,CAAC;wBACP,MAAM,EAAE,CAAC;6BACN,MAAM,EAAE;6BACR,QAAQ,CACP,gEAAgE,CACjE;wBACH,sBAAsB,EAAE,CAAC;6BACtB,MAAM,EAAE;6BACR,QAAQ,CAAC,kDAAkD,CAAC;wBAC/D,cAAc,EAAE,CAAC;6BACd,MAAM,EAAE;6BACR,QAAQ,CAAC,0CAA0C,CAAC;wBACvD,QAAQ,EAAE,CAAC;6BACR,MAAM,EAAE;6BACR,QAAQ,CAAC,2CAA2C,CAAC;wBACxD,wBAAwB,EAAE,CAAC;6BACxB,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;6BACjB,QAAQ,CACP,oEAAoE,CACrE;wBACH,uBAAuB,EAAE,CAAC;6BACvB,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;6BACjB,QAAQ,CACP,8DAA8D,CAC/D;wBACH,qCAAqC,EAAE,CAAC;6BACrC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;6BACjB,QAAQ,CACP,sEAAsE,CACvE;wBACH,iBAAiB,EAAE,CAAC;6BACjB,MAAM,EAAE;6BACR,QAAQ,EAAE;6BACV,QAAQ,CAAC,mCAAmC,CAAC;wBAChD,gBAAgB,EAAE,CAAC;6BAChB,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;6BACjB,QAAQ,EAAE;6BACV,QAAQ,CACP,4DAA4D,CAC7D;wBACH,gBAAgB,EAAE,CAAC;6BAChB,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;6BACjB,QAAQ,EAAE;6BACV,QAAQ,CAAC,iDAAiD,CAAC;wBAC9D,qBAAqB,EAAE,CAAC;6BACrB,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;6BACjB,QAAQ,EAAE;6BACV,QAAQ,CACP,iEAAiE,CAClE;wBACH,qCAAqC,EAAE,CAAC;6BACrC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;6BACjB,QAAQ,EAAE;6BACV,QAAQ,CACP,+DAA+D,CAChE;wBACH,gCAAgC,EAAE,CAAC;6BAChC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;6BACjB,QAAQ,EAAE;6BACV,QAAQ,CACP,6DAA6D,CAC9D;wBACH,sBAAsB,EAAE,CAAC;6BACtB,MAAM,EAAE;6BACR,QAAQ,EAAE;6BACV,QAAQ,CACP,wDAAwD,CACzD;wBACH,mBAAmB,EAAE,CAAC;6BACnB,MAAM,EAAE;6BACR,QAAQ,EAAE;6BACV,QAAQ,CACP,qDAAqD,CACtD;wBACH,qBAAqB,EAAE,CAAC;6BACrB,MAAM,EAAE;6BACR,QAAQ,EAAE;6BACV,QAAQ,CACP,qDAAqD,CACtD;wBACH,oBAAoB,EAAE,CAAC;6BACpB,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;6BACjB,QAAQ,EAAE;6BACV,QAAQ,CACP,wDAAwD,CACzD;qBACJ,CAAC,CACH;iBACF;aACF;YACD,WAAW,EAAE,sBAAsB;SACpC;KACF;CACF,CAAC,EACF,KAAK,EAAE,CAAC,EAAE,EAAE;IACV,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;IAE5C,MAAM,aAAa,GAAG;QACpB,MAAM,EAAE,OAAO;QACf,sBAAsB,EAAE,GAAG,OAAO,kBAAkB;QACpD,cAAc,EAAE,GAAG,OAAO,cAAc;QACxC,QAAQ,EAAE,GAAG,OAAO,aAAa;QACjC,wBAAwB,EAAE,CAAC,MAAM,CAAC;QAClC,uBAAuB,EAAE,CAAC,QAAQ,CAAC;QACnC,qCAAqC,EAAE,CAAC,OAAO,CAAC;QAChD,iBAAiB,EAAE,GAAG,OAAO,iBAAiB;QAC9C,gBAAgB,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,CAAC;QAClE,gBAAgB,EAAE;YAChB,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,OAAO;YACP,OAAO;YACP,gBAAgB;YAChB,MAAM;SACP;QACD,qBAAqB,EAAE,CAAC,oBAAoB,EAAE,eAAe,CAAC;QAC9D,qCAAqC,EAAE;YACrC,qBAAqB;YACrB,oBAAoB;SACrB;QACD,gCAAgC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QACnD,sBAAsB,EAAE,GAAG,OAAO,mBAAmB;QACrD,mBAAmB,EAAE,GAAG,OAAO,eAAe;QAC9C,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,mBAAmB;KACtD,CAAC;IAEF,2BAA2B;IAC3B,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;IAElD,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;AACpC,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../../src/routes/oauth/.well-known/openid-configuration/get.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ export declare const authorizeGet: import("hono/hono-base").HonoBase<AppEnv, {
14
14
  nonce?: string | string[];
15
15
  prompt?: string | string[];
16
16
  max_age?: string | string[];
17
+ reauthenticated?: string | string[];
17
18
  display?: string | string[];
18
19
  };
19
20
  };
@@ -33,6 +34,7 @@ export declare const authorizeGet: import("hono/hono-base").HonoBase<AppEnv, {
33
34
  nonce?: string | string[];
34
35
  prompt?: string | string[];
35
36
  max_age?: string | string[];
37
+ reauthenticated?: string | string[];
36
38
  display?: string | string[];
37
39
  };
38
40
  };
@@ -1 +1 @@
1
- {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../src/routes/oauth/authorize/get.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAStD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAsJxB,CAAC"}
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../src/routes/oauth/authorize/get.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAStD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA+JxB,CAAC"}
@@ -36,6 +36,7 @@ export const authorizeGet = new Hono().get('/authorize', describeRoute({
36
36
  nonce: f.nonce.optional(),
37
37
  prompt: f.prompt.optional(),
38
38
  max_age: f.maxAge.optional(),
39
+ reauthenticated: z.literal('1').optional(),
39
40
  display: f.display.optional(),
40
41
  })), verifyAuth({ optional: true }), async (c) => {
41
42
  const query = c.req.valid('query');
@@ -94,6 +95,9 @@ export const authorizeGet = new Hono().get('/authorize', describeRoute({
94
95
  if (error instanceof e.InvalidCodeChallengeMethod.Error) {
95
96
  return redirectWithError('invalid_request', error.message, query.redirect_uri);
96
97
  }
98
+ if (error instanceof e.InvalidPrompt.Error) {
99
+ return redirectWithError('invalid_request', error.message, query.redirect_uri);
100
+ }
97
101
  // Log unexpected errors
98
102
  c.var.logger.error({ err: error }, 'Unexpected authorize error');
99
103
  return redirectWithError('server_error', 'An unexpected error occurred', query.redirect_uri);
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/routes/oauth/authorize/get.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/routes/oauth/authorize/get.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ export declare const oauthApplicationRoutes: import("hono/hono-base").HonoBase<A
14
14
  nonce?: string | string[];
15
15
  prompt?: string | string[];
16
16
  max_age?: string | string[];
17
+ reauthenticated?: string | string[];
17
18
  display?: string | string[];
18
19
  };
19
20
  };
@@ -33,6 +34,7 @@ export declare const oauthApplicationRoutes: import("hono/hono-base").HonoBase<A
33
34
  nonce?: string | string[];
34
35
  prompt?: string | string[];
35
36
  max_age?: string | string[];
37
+ reauthenticated?: string | string[];
36
38
  display?: string | string[];
37
39
  };
38
40
  };
@@ -62,7 +64,7 @@ export declare const oauthApplicationRoutes: import("hono/hono-base").HonoBase<A
62
64
  access_token: string;
63
65
  token_type: "Bearer";
64
66
  expires_in: number;
65
- refresh_token: string;
67
+ refresh_token?: string | undefined | undefined;
66
68
  id_token?: string | undefined | undefined;
67
69
  scope: string;
68
70
  };
@@ -90,6 +92,7 @@ export declare const oauthApplicationRoutes: import("hono/hono-base").HonoBase<A
90
92
  iat?: number | undefined | undefined;
91
93
  sub?: string | undefined | undefined;
92
94
  iss?: string | undefined | undefined;
95
+ aud?: string | undefined | undefined;
93
96
  };
94
97
  outputFormat: "json";
95
98
  status: 200;
@@ -162,6 +165,7 @@ export declare const oauthApplicationRoutes: import("hono/hono-base").HonoBase<A
162
165
  token_endpoint: string;
163
166
  jwks_uri: string;
164
167
  response_types_supported: string[];
168
+ response_modes_supported: string[];
165
169
  subject_types_supported: string[];
166
170
  id_token_signing_alg_values_supported: string[];
167
171
  userinfo_endpoint: string;
@@ -173,6 +177,9 @@ export declare const oauthApplicationRoutes: import("hono/hono-base").HonoBase<A
173
177
  introspection_endpoint: string;
174
178
  revocation_endpoint: string;
175
179
  ui_locales_supported: ("en" | "ko" | "ja")[];
180
+ request_parameter_supported: boolean;
181
+ request_uri_parameter_supported: boolean;
182
+ claims_parameter_supported: boolean;
176
183
  };
177
184
  outputFormat: "json";
178
185
  status: 200;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/oauth/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AASnD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAOP,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/oauth/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AASnD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAOP,CAAC"}
@@ -19,6 +19,7 @@ export declare const introspectPost: import("hono/hono-base").HonoBase<AppEnv, {
19
19
  iat?: number | undefined | undefined;
20
20
  sub?: string | undefined | undefined;
21
21
  iss?: string | undefined | undefined;
22
+ aud?: string | undefined | undefined;
22
23
  };
23
24
  outputFormat: "json";
24
25
  status: 200;
@@ -1 +1 @@
1
- {"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../../src/routes/oauth/introspect/post.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAoBtD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;sBAqG1B,CAAC"}
1
+ {"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../../src/routes/oauth/introspect/post.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAoBtD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;sBAqG1B,CAAC"}
@@ -17,7 +17,7 @@ export declare const tokenPost: import("hono/hono-base").HonoBase<AppEnv, {
17
17
  access_token: string;
18
18
  token_type: "Bearer";
19
19
  expires_in: number;
20
- refresh_token: string;
20
+ refresh_token?: string | undefined | undefined;
21
21
  id_token?: string | undefined | undefined;
22
22
  scope: string;
23
23
  };
@@ -1 +1 @@
1
- {"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../../src/routes/oauth/token/post.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAuBtD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8HrB,CAAC"}
1
+ {"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../../src/routes/oauth/token/post.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAuBtD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgIrB,CAAC"}
@@ -89,6 +89,7 @@ export const tokenPost = new Hono().post('/token', describeRoute({
89
89
  }
90
90
  throw err;
91
91
  }
92
+ oauthClientService.validateGrantType(client, body.grant_type);
92
93
  // 3. Handle grant type
93
94
  if (body.grant_type === 'authorization_code') {
94
95
  if (!body.code) {
@@ -1 +1 @@
1
- {"version":3,"file":"post.js","sourceRoot":"","sources":["../../../../src/routes/oauth/token/post.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"post.js","sourceRoot":"","sources":["../../../../src/routes/oauth/token/post.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../src/routes/oauth/userinfo/get.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAStD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;oBAqEvB,CAAC"}
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../src/routes/oauth/userinfo/get.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAStD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;oBAyEvB,CAAC"}
@@ -48,6 +48,9 @@ export const userinfoGet = new Hono().get('/userinfo', describeRoute({
48
48
  const userData = await userService.userEntityToSessionUser(userEntity);
49
49
  // Parse scopes from token
50
50
  const scopes = tokenPayload.scope.split(' ');
51
+ if (!scopes.includes('openid')) {
52
+ throw new e.InsufficientScope.Error();
53
+ }
51
54
  // Build response based on granted scopes
52
55
  const userInfo = {
53
56
  sub: userData.sub,
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/routes/oauth/userinfo/get.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/routes/oauth/userinfo/get.ts"],"names":[],"mappings":"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"}