@rc-tool/unified-auth-hosted-service 0.2.9 → 0.3.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 (124) hide show
  1. package/README.md +109 -114
  2. package/dist/cli/config-file.d.ts +7 -0
  3. package/dist/cli/config-file.d.ts.map +1 -0
  4. package/dist/cli/config-file.js +77 -0
  5. package/dist/cli/config-file.js.map +1 -0
  6. package/dist/cli/config.d.ts +21 -0
  7. package/dist/cli/config.d.ts.map +1 -0
  8. package/dist/cli/config.js +174 -0
  9. package/dist/cli/config.js.map +1 -0
  10. package/dist/cli/database.d.ts +33 -0
  11. package/dist/cli/database.d.ts.map +1 -0
  12. package/dist/cli/database.js +346 -0
  13. package/dist/cli/database.js.map +1 -0
  14. package/dist/cli/index.d.ts +1 -1
  15. package/dist/cli/index.d.ts.map +1 -1
  16. package/dist/cli/index.js +44 -79
  17. package/dist/cli/index.js.map +1 -1
  18. package/dist/cli.js +1 -1
  19. package/dist/cli.js.map +1 -1
  20. package/dist/config.d.ts +32 -0
  21. package/dist/config.d.ts.map +1 -0
  22. package/dist/config.js +7 -0
  23. package/dist/config.js.map +1 -0
  24. package/dist/hosted-service/applications.d.ts +0 -6
  25. package/dist/hosted-service/applications.d.ts.map +1 -1
  26. package/dist/hosted-service/applications.js +50 -8
  27. package/dist/hosted-service/applications.js.map +1 -1
  28. package/dist/hosted-service/better-auth.d.ts +10 -0
  29. package/dist/hosted-service/better-auth.d.ts.map +1 -0
  30. package/dist/hosted-service/better-auth.js +213 -0
  31. package/dist/hosted-service/better-auth.js.map +1 -0
  32. package/dist/hosted-service/constants.d.ts +0 -4
  33. package/dist/hosted-service/constants.d.ts.map +1 -1
  34. package/dist/hosted-service/constants.js +0 -4
  35. package/dist/hosted-service/constants.js.map +1 -1
  36. package/dist/hosted-service/http.d.ts.map +1 -1
  37. package/dist/hosted-service/http.js +6 -8
  38. package/dist/hosted-service/http.js.map +1 -1
  39. package/dist/hosted-service/login-page/components.d.ts +0 -1
  40. package/dist/hosted-service/login-page/components.d.ts.map +1 -1
  41. package/dist/hosted-service/login-page/components.js +0 -6
  42. package/dist/hosted-service/login-page/components.js.map +1 -1
  43. package/dist/hosted-service/login-page/index.d.ts.map +1 -1
  44. package/dist/hosted-service/login-page/index.js +2 -18
  45. package/dist/hosted-service/login-page/index.js.map +1 -1
  46. package/dist/hosted-service/login-page/links.d.ts.map +1 -1
  47. package/dist/hosted-service/login-page/links.js +1 -12
  48. package/dist/hosted-service/login-page/links.js.map +1 -1
  49. package/dist/hosted-service/login-page/styles.d.ts +1 -1
  50. package/dist/hosted-service/login-page/styles.d.ts.map +1 -1
  51. package/dist/hosted-service/login-page/styles.js +0 -2
  52. package/dist/hosted-service/login-page/styles.js.map +1 -1
  53. package/dist/hosted-service/login-page/types.d.ts +2 -8
  54. package/dist/hosted-service/login-page/types.d.ts.map +1 -1
  55. package/dist/hosted-service/routes.d.ts.map +1 -1
  56. package/dist/hosted-service/routes.js +3 -12
  57. package/dist/hosted-service/routes.js.map +1 -1
  58. package/dist/hosted-service/service.d.ts +5 -8
  59. package/dist/hosted-service/service.d.ts.map +1 -1
  60. package/dist/hosted-service/service.js +56 -168
  61. package/dist/hosted-service/service.js.map +1 -1
  62. package/dist/hosted-service/types.d.ts +36 -46
  63. package/dist/hosted-service/types.d.ts.map +1 -1
  64. package/dist/index.d.ts +3 -4
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +1 -2
  67. package/dist/index.js.map +1 -1
  68. package/package.json +8 -4
  69. package/dist/cli/env.d.ts +0 -40
  70. package/dist/cli/env.d.ts.map +0 -1
  71. package/dist/cli/env.js +0 -353
  72. package/dist/cli/env.js.map +0 -1
  73. package/dist/hosted-service/cookies.d.ts +0 -17
  74. package/dist/hosted-service/cookies.d.ts.map +0 -1
  75. package/dist/hosted-service/cookies.js +0 -56
  76. package/dist/hosted-service/cookies.js.map +0 -1
  77. package/dist/hosted-service/crypto.d.ts +0 -3
  78. package/dist/hosted-service/crypto.d.ts.map +0 -1
  79. package/dist/hosted-service/crypto.js +0 -39
  80. package/dist/hosted-service/crypto.js.map +0 -1
  81. package/dist/hosted-service/oauth.d.ts +0 -11
  82. package/dist/hosted-service/oauth.d.ts.map +0 -1
  83. package/dist/hosted-service/oauth.js +0 -37
  84. package/dist/hosted-service/oauth.js.map +0 -1
  85. package/dist/hosted-service/providers/feishu.d.ts +0 -4
  86. package/dist/hosted-service/providers/feishu.d.ts.map +0 -1
  87. package/dist/hosted-service/providers/feishu.js +0 -72
  88. package/dist/hosted-service/providers/feishu.js.map +0 -1
  89. package/dist/hosted-service/providers/github.d.ts +0 -4
  90. package/dist/hosted-service/providers/github.d.ts.map +0 -1
  91. package/dist/hosted-service/providers/github.js +0 -73
  92. package/dist/hosted-service/providers/github.js.map +0 -1
  93. package/dist/hosted-service/providers/google.d.ts +0 -4
  94. package/dist/hosted-service/providers/google.d.ts.map +0 -1
  95. package/dist/hosted-service/providers/google.js +0 -54
  96. package/dist/hosted-service/providers/google.js.map +0 -1
  97. package/dist/hosted-service/session.d.ts +0 -11
  98. package/dist/hosted-service/session.d.ts.map +0 -1
  99. package/dist/hosted-service/session.js +0 -54
  100. package/dist/hosted-service/session.js.map +0 -1
  101. package/dist/hosted-service/store/file.d.ts +0 -6
  102. package/dist/hosted-service/store/file.d.ts.map +0 -1
  103. package/dist/hosted-service/store/file.js +0 -63
  104. package/dist/hosted-service/store/file.js.map +0 -1
  105. package/dist/hosted-service/store/index.d.ts +0 -6
  106. package/dist/hosted-service/store/index.d.ts.map +0 -1
  107. package/dist/hosted-service/store/index.js +0 -3
  108. package/dist/hosted-service/store/index.js.map +0 -1
  109. package/dist/hosted-service/store/memory.d.ts +0 -6
  110. package/dist/hosted-service/store/memory.d.ts.map +0 -1
  111. package/dist/hosted-service/store/memory.js +0 -19
  112. package/dist/hosted-service/store/memory.js.map +0 -1
  113. package/dist/hosted-service/store/state.d.ts +0 -9
  114. package/dist/hosted-service/store/state.d.ts.map +0 -1
  115. package/dist/hosted-service/store/state.js +0 -156
  116. package/dist/hosted-service/store/state.js.map +0 -1
  117. package/dist/hosted-service/store/types.d.ts +0 -56
  118. package/dist/hosted-service/store/types.d.ts.map +0 -1
  119. package/dist/hosted-service/store/types.js +0 -2
  120. package/dist/hosted-service/store/types.js.map +0 -1
  121. package/dist/hosted-service-cli.d.ts +0 -2
  122. package/dist/hosted-service-cli.d.ts.map +0 -1
  123. package/dist/hosted-service-cli.js +0 -85
  124. package/dist/hosted-service-cli.js.map +0 -1
@@ -1,2 +1,2 @@
1
- export declare const loginPageStyles = "\n:root { color-scheme: dark; font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif; }\n* { box-sizing: border-box; }\nbody { margin: 0; min-height: 100vh; overflow-x: hidden; background: #08131f; color: #f8fafc; }\nbody::before, body::after { content: \"\"; position: fixed; inset: 0; pointer-events: none; }\nbody::before {\n background: var(--auth-background-image, url(\"https://images.unsplash.com/photo-1552664730-d307ca884978?auto=format&fit=crop&w=1800&q=82\")) center / cover no-repeat;\n transform: scale(1.02);\n}\nbody::after {\n background:\n linear-gradient(90deg, rgb(7 18 32 / 92%) 0%, rgb(9 31 45 / 78%) 48%, rgb(14 111 100 / 72%) 100%),\n linear-gradient(180deg, rgb(5 12 22 / 16%) 0%, rgb(5 12 22 / 56%) 100%);\n}\na { min-height: 44px; display: flex; align-items: center; justify-content: center; border-radius: 6px; text-decoration: none; font-weight: 700; }\n.auth-status {\n position: fixed; z-index: 2; top: 24px; right: 24px; min-height: 36px; display: inline-flex; align-items: center;\n padding: 0 14px; border: 1px solid rgb(148 163 184 / 24%); border-radius: 8px; background: rgb(15 23 42 / 74%);\n box-shadow: 0 14px 32px rgb(0 0 0 / 22%); color: #e2e8f0; font-size: 13px;\n}\n.auth-shell {\n position: relative; z-index: 1; min-height: 100vh; width: min(1280px, calc(100vw - 48px)); margin: 0 auto;\n display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 440px); align-items: center; gap: 72px; padding: 72px 0;\n}\n.hero-copy { max-width: 760px; }\n.brand-row { display: flex; align-items: center; gap: 12px; margin-bottom: 30px; }\n.mark {\n width: 56px; height: 56px; display: grid; place-items: center; border-radius: 8px;\n background: linear-gradient(135deg, #4f8cff 0%, #22d4b8 100%); color: #fff; box-shadow: 0 16px 32px rgb(34 211 238 / 18%);\n}\n.mark svg { width: 30px; height: 30px; display: block; }\n.mark img { width: 100%; height: 100%; display: block; border-radius: inherit; object-fit: cover; }\n.brand-title {\n display: inline-flex; align-items: center; min-height: 28px; padding: 0 10px; border-radius: 6px;\n background: rgb(15 23 42 / 48%); color: #bfdbfe; font-size: 14px; font-weight: 700;\n}\n.hero-kicker { margin-bottom: 16px; color: #67e8f9; font-size: 14px; font-weight: 800; }\nh1 { max-width: 720px; margin: 0 0 18px; color: #fff; font-size: 40px; line-height: 1.18; font-weight: 800; }\n.hero-copy p { max-width: 680px; margin: 0; color: #e2e8f0; font-size: 16px; line-height: 1.8; font-weight: 600; }\n.login-panel {\n width: 100%; border: 1px solid rgb(148 163 184 / 18%); border-radius: 8px; background: rgb(15 23 42 / 92%);\n box-shadow: 0 26px 70px rgb(0 0 0 / 38%); padding: 34px;\n}\n.login-kicker { margin-bottom: 8px; color: #93c5fd; font-size: 13px; font-weight: 800; }\nh2 { margin: 0 0 14px; color: #f8fafc; font-size: 26px; line-height: 1.25; font-weight: 800; }\n.login-panel p { margin: 0 0 24px; color: #aebccc; font-size: 14px; line-height: 1.7; font-weight: 600; }\n.provider-list { display: grid; gap: 14px; }\n.primary-provider {\n min-height: 52px; gap: 10px; padding: 0 18px; background: #4f7fe5; color: #fff; box-shadow: 0 10px 22px rgb(79 127 229 / 28%);\n transition: transform .16s ease, box-shadow .16s ease, background .16s ease;\n}\n.primary-provider:hover { background: #5d8cf1; box-shadow: 0 16px 30px rgb(79 127 229 / 36%); transform: translateY(-1px); }\n.primary-provider-icon { width: 22px; height: 22px; display: grid; place-items: center; flex: 0 0 auto; color: #fff; background: transparent; border: 0; }\n.primary-provider-icon svg { width: 21px; height: 21px; display: block; }\n.primary-provider .provider-name { margin: 0; font-size: inherit; }\n.provider-divider { display: flex; align-items: center; gap: 12px; color: #7d8da3; font-size: 12px; font-weight: 700; }\n.provider-divider::before, .provider-divider::after { content: \"\"; height: 1px; flex: 1; background: rgb(148 163 184 / 16%); }\n.secondary-provider-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }\n.provider-option {\n min-height: 72px; flex-direction: column; gap: 8px; padding: 12px 10px; border: 1px solid rgb(148 163 184 / 18%);\n color: #e5edf8; background: rgb(30 41 59 / 62%); text-align: center; transition: transform .16s ease, border-color .16s ease, background .16s ease;\n}\n.provider-option:hover { border-color: rgb(147 197 253 / 52%); background: rgb(30 64 94 / 76%); transform: translateY(-1px); }\n.provider-icon { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 6px; flex: 0 0 auto; }\n.provider-icon svg { width: 22px; height: 22px; display: block; }\n.provider-icon-feishu { background: transparent; }\n.provider-icon-google { background: #fff; border: 1px solid rgb(226 232 240 / 86%); }\n.provider-icon-github { background: #0b1120; color: #fff; }\n.provider-name { max-width: 100%; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n.provider-empty { border: 1px solid rgb(251 191 36 / 24%); color: #fde68a; background: rgb(120 53 15 / 28%); border-radius: 6px; padding: 12px 14px; line-height: 1.6; font-size: 14px; }\n.dev-link { min-height: 42px; margin-top: 12px; border: 1px solid rgb(148 163 184 / 16%); background: rgb(15 23 42 / 48%); color: #cbd5e1; font-size: 13px; }\n.dev-link:hover { border-color: rgb(148 163 184 / 34%); background: rgb(30 41 59 / 72%); }\n.error { border: 1px solid rgb(248 113 113 / 36%); color: #fecaca; background: rgb(127 29 29 / 34%); border-radius: 6px; padding: 10px 12px; margin-bottom: 16px; }\n.footer-row { margin-top: 18px; color: #64748b; font-size: 12px; }\n@media (max-width: 780px) {\n .auth-status { top: 16px; right: 16px; }\n .auth-shell { width: min(100% - 32px, 520px); min-height: auto; grid-template-columns: 1fr; gap: 30px; padding: 92px 0 34px; }\n .hero-copy { max-width: none; }\n .brand-row { margin-bottom: 22px; }\n .mark { width: 48px; height: 48px; }\n .mark svg { width: 26px; height: 26px; }\n h1 { font-size: 30px; }\n .hero-copy p { font-size: 15px; }\n .login-panel { padding: 26px; }\n h2 { font-size: 23px; }\n}\n@media (max-width: 420px) {\n .auth-shell { width: min(100% - 24px, 420px); padding-top: 82px; }\n .auth-status { min-height: 32px; padding: 0 11px; font-size: 12px; }\n .brand-title { max-width: 230px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n h1 { font-size: 27px; }\n .login-panel { padding: 22px; }\n .secondary-provider-list { grid-template-columns: 1fr; }\n}\n";
1
+ export declare const loginPageStyles = "\n:root { color-scheme: dark; font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif; }\n* { box-sizing: border-box; }\nbody { margin: 0; min-height: 100vh; overflow-x: hidden; background: #08131f; color: #f8fafc; }\nbody::before, body::after { content: \"\"; position: fixed; inset: 0; pointer-events: none; }\nbody::before {\n background: var(--auth-background-image, url(\"https://images.unsplash.com/photo-1552664730-d307ca884978?auto=format&fit=crop&w=1800&q=82\")) center / cover no-repeat;\n transform: scale(1.02);\n}\nbody::after {\n background:\n linear-gradient(90deg, rgb(7 18 32 / 92%) 0%, rgb(9 31 45 / 78%) 48%, rgb(14 111 100 / 72%) 100%),\n linear-gradient(180deg, rgb(5 12 22 / 16%) 0%, rgb(5 12 22 / 56%) 100%);\n}\na { min-height: 44px; display: flex; align-items: center; justify-content: center; border-radius: 6px; text-decoration: none; font-weight: 700; }\n.auth-status {\n position: fixed; z-index: 2; top: 24px; right: 24px; min-height: 36px; display: inline-flex; align-items: center;\n padding: 0 14px; border: 1px solid rgb(148 163 184 / 24%); border-radius: 8px; background: rgb(15 23 42 / 74%);\n box-shadow: 0 14px 32px rgb(0 0 0 / 22%); color: #e2e8f0; font-size: 13px;\n}\n.auth-shell {\n position: relative; z-index: 1; min-height: 100vh; width: min(1280px, calc(100vw - 48px)); margin: 0 auto;\n display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 440px); align-items: center; gap: 72px; padding: 72px 0;\n}\n.hero-copy { max-width: 760px; }\n.brand-row { display: flex; align-items: center; gap: 12px; margin-bottom: 30px; }\n.mark {\n width: 56px; height: 56px; display: grid; place-items: center; border-radius: 8px;\n background: linear-gradient(135deg, #4f8cff 0%, #22d4b8 100%); color: #fff; box-shadow: 0 16px 32px rgb(34 211 238 / 18%);\n}\n.mark svg { width: 30px; height: 30px; display: block; }\n.mark img { width: 100%; height: 100%; display: block; border-radius: inherit; object-fit: cover; }\n.brand-title {\n display: inline-flex; align-items: center; min-height: 28px; padding: 0 10px; border-radius: 6px;\n background: rgb(15 23 42 / 48%); color: #bfdbfe; font-size: 14px; font-weight: 700;\n}\n.hero-kicker { margin-bottom: 16px; color: #67e8f9; font-size: 14px; font-weight: 800; }\nh1 { max-width: 720px; margin: 0 0 18px; color: #fff; font-size: 40px; line-height: 1.18; font-weight: 800; }\n.hero-copy p { max-width: 680px; margin: 0; color: #e2e8f0; font-size: 16px; line-height: 1.8; font-weight: 600; }\n.login-panel {\n width: 100%; border: 1px solid rgb(148 163 184 / 18%); border-radius: 8px; background: rgb(15 23 42 / 92%);\n box-shadow: 0 26px 70px rgb(0 0 0 / 38%); padding: 34px;\n}\n.login-kicker { margin-bottom: 8px; color: #93c5fd; font-size: 13px; font-weight: 800; }\nh2 { margin: 0 0 14px; color: #f8fafc; font-size: 26px; line-height: 1.25; font-weight: 800; }\n.login-panel p { margin: 0 0 24px; color: #aebccc; font-size: 14px; line-height: 1.7; font-weight: 600; }\n.provider-list { display: grid; gap: 14px; }\n.primary-provider {\n min-height: 52px; gap: 10px; padding: 0 18px; background: #4f7fe5; color: #fff; box-shadow: 0 10px 22px rgb(79 127 229 / 28%);\n transition: transform .16s ease, box-shadow .16s ease, background .16s ease;\n}\n.primary-provider:hover { background: #5d8cf1; box-shadow: 0 16px 30px rgb(79 127 229 / 36%); transform: translateY(-1px); }\n.primary-provider-icon { width: 22px; height: 22px; display: grid; place-items: center; flex: 0 0 auto; color: #fff; background: transparent; border: 0; }\n.primary-provider-icon svg { width: 21px; height: 21px; display: block; }\n.primary-provider .provider-name { margin: 0; font-size: inherit; }\n.provider-divider { display: flex; align-items: center; gap: 12px; color: #7d8da3; font-size: 12px; font-weight: 700; }\n.provider-divider::before, .provider-divider::after { content: \"\"; height: 1px; flex: 1; background: rgb(148 163 184 / 16%); }\n.secondary-provider-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }\n.provider-option {\n min-height: 72px; flex-direction: column; gap: 8px; padding: 12px 10px; border: 1px solid rgb(148 163 184 / 18%);\n color: #e5edf8; background: rgb(30 41 59 / 62%); text-align: center; transition: transform .16s ease, border-color .16s ease, background .16s ease;\n}\n.provider-option:hover { border-color: rgb(147 197 253 / 52%); background: rgb(30 64 94 / 76%); transform: translateY(-1px); }\n.provider-icon { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 6px; flex: 0 0 auto; }\n.provider-icon svg { width: 22px; height: 22px; display: block; }\n.provider-icon-feishu { background: transparent; }\n.provider-icon-google { background: #fff; border: 1px solid rgb(226 232 240 / 86%); }\n.provider-icon-github { background: #0b1120; color: #fff; }\n.provider-name { max-width: 100%; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n.provider-empty { border: 1px solid rgb(251 191 36 / 24%); color: #fde68a; background: rgb(120 53 15 / 28%); border-radius: 6px; padding: 12px 14px; line-height: 1.6; font-size: 14px; }\n.error { border: 1px solid rgb(248 113 113 / 36%); color: #fecaca; background: rgb(127 29 29 / 34%); border-radius: 6px; padding: 10px 12px; margin-bottom: 16px; }\n.footer-row { margin-top: 18px; color: #64748b; font-size: 12px; }\n@media (max-width: 780px) {\n .auth-status { top: 16px; right: 16px; }\n .auth-shell { width: min(100% - 32px, 520px); min-height: auto; grid-template-columns: 1fr; gap: 30px; padding: 92px 0 34px; }\n .hero-copy { max-width: none; }\n .brand-row { margin-bottom: 22px; }\n .mark { width: 48px; height: 48px; }\n .mark svg { width: 26px; height: 26px; }\n h1 { font-size: 30px; }\n .hero-copy p { font-size: 15px; }\n .login-panel { padding: 26px; }\n h2 { font-size: 23px; }\n}\n@media (max-width: 420px) {\n .auth-shell { width: min(100% - 24px, 420px); padding-top: 82px; }\n .auth-status { min-height: 32px; padding: 0 11px; font-size: 12px; }\n .brand-title { max-width: 230px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n h1 { font-size: 27px; }\n .login-panel { padding: 22px; }\n .secondary-provider-list { grid-template-columns: 1fr; }\n}\n";
2
2
  //# sourceMappingURL=styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/hosted-service/login-page/styles.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,u5MA8F3B,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/hosted-service/login-page/styles.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,4pMA4F3B,CAAC"}
@@ -68,8 +68,6 @@ h2 { margin: 0 0 14px; color: #f8fafc; font-size: 26px; line-height: 1.25; font-
68
68
  .provider-icon-github { background: #0b1120; color: #fff; }
69
69
  .provider-name { max-width: 100%; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
70
70
  .provider-empty { border: 1px solid rgb(251 191 36 / 24%); color: #fde68a; background: rgb(120 53 15 / 28%); border-radius: 6px; padding: 12px 14px; line-height: 1.6; font-size: 14px; }
71
- .dev-link { min-height: 42px; margin-top: 12px; border: 1px solid rgb(148 163 184 / 16%); background: rgb(15 23 42 / 48%); color: #cbd5e1; font-size: 13px; }
72
- .dev-link:hover { border-color: rgb(148 163 184 / 34%); background: rgb(30 41 59 / 72%); }
73
71
  .error { border: 1px solid rgb(248 113 113 / 36%); color: #fecaca; background: rgb(127 29 29 / 34%); border-radius: 6px; padding: 10px 12px; margin-bottom: 16px; }
74
72
  .footer-row { margin-top: 18px; color: #64748b; font-size: 12px; }
75
73
  @media (max-width: 780px) {
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/hosted-service/login-page/styles.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8F9B,CAAC"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/hosted-service/login-page/styles.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4F9B,CAAC"}
@@ -1,24 +1,18 @@
1
- import type { HostedAuthAppearance, HostedAuthApplication, HostedAuthLoginPageComponent, HostedAuthLoginPageConfig, HostedAuthLoginPageModel, HostedAuthLoginPageProps, HostedAuthLoginProviderId, HostedAuthLoginProviderView } from "../types.js";
1
+ import type { HostedAuthApplication, HostedAuthLoginPageComponent, HostedAuthLoginPageModel, HostedAuthLoginPageProps, HostedAuthLoginProviderId, HostedAuthLoginProviderView } from "../types.js";
2
2
  export type LoginProviderId = HostedAuthLoginProviderId;
3
3
  export type LoginProviderView = HostedAuthLoginProviderView;
4
4
  export type LoginPageModel = HostedAuthLoginPageModel;
5
5
  export type LoginPageProps = HostedAuthLoginPageProps;
6
6
  export type LoginPageComponent = HostedAuthLoginPageComponent;
7
7
  export type LoginPageLinks = {
8
- devLogin: string;
9
8
  providers: LoginProviderView[];
10
9
  };
11
10
  export type RenderLoginPageParams = {
12
- allowDevLogin: boolean;
13
- appearance?: HostedAuthAppearance;
14
11
  app: HostedAuthApplication;
15
12
  authBaseURL: string;
16
13
  clientId: string;
14
+ enabledProviders: HostedAuthLoginProviderId[];
17
15
  error?: string;
18
- feishuEnabled: boolean;
19
- githubEnabled: boolean;
20
- googleEnabled: boolean;
21
- loginPage?: HostedAuthLoginPageConfig;
22
16
  loginPageComponent?: HostedAuthLoginPageComponent;
23
17
  redirectURI: string;
24
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/hosted-service/login-page/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,4BAA4B,EAC5B,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC5B,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,eAAe,GAAG,yBAAyB,CAAC;AAExD,MAAM,MAAM,iBAAiB,GAAG,2BAA2B,CAAC;AAE5D,MAAM,MAAM,cAAc,GAAG,wBAAwB,CAAC;AAEtD,MAAM,MAAM,cAAc,GAAG,wBAAwB,CAAC;AAEtD,MAAM,MAAM,kBAAkB,GAAG,4BAA4B,CAAC;AAE9D,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,iBAAiB,EAAE,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,GAAG,EAAE,qBAAqB,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,yBAAyB,CAAC;IACtC,kBAAkB,CAAC,EAAE,4BAA4B,CAAC;IAClD,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/hosted-service/login-page/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,4BAA4B,EAE5B,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC5B,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,eAAe,GAAG,yBAAyB,CAAC;AAExD,MAAM,MAAM,iBAAiB,GAAG,2BAA2B,CAAC;AAE5D,MAAM,MAAM,cAAc,GAAG,wBAAwB,CAAC;AAEtD,MAAM,MAAM,cAAc,GAAG,wBAAwB,CAAC;AAEtD,MAAM,MAAM,kBAAkB,GAAG,4BAA4B,CAAC;AAE9D,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,iBAAiB,EAAE,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,GAAG,EAAE,qBAAqB,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,yBAAyB,EAAE,CAAC;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,4BAA4B,CAAC;IAClD,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/hosted-service/routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE3D,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE7E,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,sBAAsB,CAAC;IAC5B,IAAI,EAAE,sBAAsB,CAAC;IAC7B,MAAM,EAAE,sBAAsB,CAAC;IAC/B,OAAO,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;CACrD;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,wBAAwB,GAAG,uBAAuB,CAkBxG;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,EACnD,OAAO,EAAE,OAAO,qBA0CjB"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/hosted-service/routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE3D,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE7E,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,sBAAsB,CAAC;IAC5B,IAAI,EAAE,sBAAsB,CAAC;IAC7B,MAAM,EAAE,sBAAsB,CAAC;IAC/B,OAAO,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;CACrD;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,wBAAwB,GAAG,uBAAuB,CAkBxG;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,EACnD,OAAO,EAAE,OAAO,qBAiCjB"}
@@ -29,24 +29,12 @@ export async function handleHostedAuthRequest(service, request) {
29
29
  if (path === "/api/auth/context") {
30
30
  return service.handleContext(request);
31
31
  }
32
- if (path === "/api/auth/dev-login") {
33
- return service.handleDevLogin(request);
34
- }
35
- if (path === "/api/auth/feishu/callback") {
36
- return service.handleFeishuCallback(request);
37
- }
38
32
  if (path === "/api/auth/feishu/start") {
39
33
  return service.handleFeishuStart(request);
40
34
  }
41
- if (path === "/api/auth/google/callback") {
42
- return service.handleGoogleCallback(request);
43
- }
44
35
  if (path === "/api/auth/google/start") {
45
36
  return service.handleGoogleStart(request);
46
37
  }
47
- if (path === "/api/auth/github/callback") {
48
- return service.handleGitHubCallback(request);
49
- }
50
38
  if (path === "/api/auth/github/start") {
51
39
  return service.handleGitHubStart(request);
52
40
  }
@@ -56,6 +44,9 @@ export async function handleHostedAuthRequest(service, request) {
56
44
  if (path === "/api/auth/session") {
57
45
  return service.handleSession(request);
58
46
  }
47
+ if (path.startsWith("/api/auth/")) {
48
+ return service.handleAuthRequest(request);
49
+ }
59
50
  return new Response("Not found", { status: 404 });
60
51
  }
61
52
  //# sourceMappingURL=routes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/hosted-service/routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAYvD,MAAM,UAAU,6BAA6B,CAAC,OAAiC;IAC7E,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,KAAK,EAAE,OAAgB,EAAE,EAAE;QACxC,IAAI,CAAC;YACH,OAAO,MAAM,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,QAAQ,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,EAAE;gBACjF,MAAM,EAAE,GAAG;aACZ,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,MAAM;QACZ,MAAM;QACN,OAAO;KACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAAmD,EACnD,OAAgB;IAEhB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;IAE3C,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,IAAI,KAAK,qBAAqB,EAAE,CAAC;QACnC,OAAO,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,IAAI,KAAK,2BAA2B,EAAE,CAAC;QACzC,OAAO,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,IAAI,KAAK,wBAAwB,EAAE,CAAC;QACtC,OAAO,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,IAAI,KAAK,2BAA2B,EAAE,CAAC;QACzC,OAAO,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,IAAI,KAAK,wBAAwB,EAAE,CAAC;QACtC,OAAO,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,IAAI,KAAK,2BAA2B,EAAE,CAAC;QACzC,OAAO,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,IAAI,KAAK,wBAAwB,EAAE,CAAC;QACtC,OAAO,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACzD,OAAO,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/hosted-service/routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAYvD,MAAM,UAAU,6BAA6B,CAAC,OAAiC;IAC7E,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,KAAK,EAAE,OAAgB,EAAE,EAAE;QACxC,IAAI,CAAC;YACH,OAAO,MAAM,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,QAAQ,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,EAAE;gBACjF,MAAM,EAAE,GAAG;aACZ,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,MAAM;QACZ,MAAM;QACN,OAAO;KACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAAmD,EACnD,OAAgB;IAEhB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;IAE3C,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,IAAI,KAAK,wBAAwB,EAAE,CAAC;QACtC,OAAO,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,IAAI,KAAK,wBAAwB,EAAE,CAAC;QACtC,OAAO,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,IAAI,KAAK,wBAAwB,EAAE,CAAC;QACtC,OAAO,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACzD,OAAO,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAClC,OAAO,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AACpD,CAAC"}
@@ -1,14 +1,11 @@
1
1
  import type { HostedAuthServiceOptions } from "./types.js";
2
2
  export declare function createHostedAuthService(options: HostedAuthServiceOptions): {
3
+ handleAuthRequest(request: Request): Response | Promise<Response>;
3
4
  handleContext(request: Request): Promise<Response>;
4
- handleDevLogin(request: Request): Promise<Response>;
5
- handleFeishuCallback(request: Request): Promise<Response>;
6
- handleFeishuStart(request: Request): Promise<Response>;
7
- handleGitHubCallback(request: Request): Promise<Response>;
8
- handleGitHubStart(request: Request): Promise<Response>;
9
- handleGoogleCallback(request: Request): Promise<Response>;
10
- handleGoogleStart(request: Request): Promise<Response>;
11
- handleLogin(request: Request): Promise<Response>;
5
+ handleFeishuStart(request: Request): Response | Promise<Response>;
6
+ handleGitHubStart(request: Request): Response | Promise<Response>;
7
+ handleGoogleStart(request: Request): Response | Promise<Response>;
8
+ handleLogin(request: Request): Response;
12
9
  handleLogout(request: Request): Promise<Response>;
13
10
  handleSession(request: Request): Promise<Response>;
14
11
  handleUser(request: Request): Promise<Response>;
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/hosted-service/service.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAyB,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAIlF,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,wBAAwB;2BAoExC,OAAO;4BAGN,OAAO;kCAGD,OAAO;+BAGV,OAAO;kCAGJ,OAAO;+BAIV,OAAO;kCAGJ,OAAO;+BAIV,OAAO;yBAGb,OAAO;0BAGN,OAAO;2BASN,OAAO;wBAKV,OAAO;EAmEpC"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/hosted-service/service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAA6B,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAItF,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,wBAAwB;+BAK1C,OAAO;2BAGX,OAAO;+BAGH,OAAO;+BAGP,OAAO;+BAGP,OAAO;yBAGb,OAAO;0BAGN,OAAO;2BAGN,OAAO;wBAGV,OAAO;EAqB9B"}
@@ -1,186 +1,56 @@
1
1
  import { createProviderStartUrl, getAuthBaseURL, getRedirectURI, isRedirectAllowed, validateRequestClient } from "./applications.js";
2
- import { AUTH_SERVICE_SESSION_COOKIE, AUTH_SERVICE_STATE_COOKIE } from "./constants.js";
3
- import { appendCookie, clearCookie, createSessionCookie } from "./cookies.js";
2
+ import { createBetterAuthHostedService } from "./better-auth.js";
4
3
  import { html, json, redirect } from "./http.js";
5
4
  import { renderLoginPage } from "./login-page/index.js";
6
- import { createOAuthState, createOAuthStateCookie, readOAuthCallbackState } from "./oauth.js";
7
- import { createUserFromFeishuCode } from "./providers/feishu.js";
8
- import { createUserFromGitHubCode } from "./providers/github.js";
9
- import { createUserFromGoogleCode } from "./providers/google.js";
10
- import { createSessionExpiresAt, createSessionPayload, deleteRequestSession, getStoredSession, toAuthContext, toAuthSession, } from "./session.js";
11
- import { createMemoryAuthStore } from "./store/index.js";
5
+ const hostedProviders = ["feishu", "google", "github"];
12
6
  export function createHostedAuthService(options) {
13
7
  const authBaseURL = getAuthBaseURL(options);
14
- const allowDevLogin = options.allowDevLogin ?? false;
15
- const store = options.store ?? createMemoryAuthStore();
16
- // OAuth 成功后只写认证身份和 session;业务角色、项目、成员关系仍由业务系统自己维护。
17
- async function setSessionAndRedirect(request, provider, providerUser, clientId, redirectURI) {
18
- const user = await store.upsertOAuthUser(provider, providerUser);
19
- const session = await store.createSession({
20
- clientId,
21
- expiresAt: createSessionExpiresAt(),
22
- provider,
23
- providerAccountId: providerUser.id,
24
- userId: user.id,
25
- });
26
- const headers = new Headers();
27
- appendCookie(headers, createSessionCookie(request, options, createSessionPayload(session)));
28
- appendCookie(headers, clearCookie(request, options, AUTH_SERVICE_STATE_COOKIE));
29
- return redirect(redirectURI, headers);
30
- }
31
- async function handleProviderCallback(request, provider, createUser) {
32
- const stateData = readOAuthCallbackState(request, options);
33
- if (!stateData) {
34
- return redirect(`${authBaseURL}/login?error=${encodeURIComponent("登录状态校验失败,请重新发起登录。")}`);
35
- }
36
- try {
37
- const user = await createUser(stateData.code, getCallbackURL(provider));
38
- return setSessionAndRedirect(request, provider, user, stateData.savedState.clientId, stateData.savedState.redirectURI);
39
- }
40
- catch (error) {
41
- return redirect(createCallbackErrorUrl(provider, error, stateData.savedState.clientId, stateData.savedState.redirectURI));
42
- }
43
- }
44
- function handleProviderStart(request, provider) {
45
- const providerClientId = getProviderClientId(provider);
46
- const { app, clientId, error } = validateRequestClient(request, options);
47
- const redirectURI = getRedirectURI(request, app);
48
- if (error) {
49
- return json({ error }, { status: 400 });
50
- }
51
- if (!providerClientId) {
52
- return redirect(`${authBaseURL}/login?client_id=${encodeURIComponent(clientId)}&error=${encodeURIComponent(getProviderDisabledMessage(provider))}`);
53
- }
54
- if (!isRedirectAllowed(redirectURI, app)) {
55
- return json({ error: "redirect_uri 不在应用白名单中" }, { status: 400 });
56
- }
57
- return redirectToProvider(request, app, redirectURI, provider, providerClientId);
58
- }
8
+ const betterAuthService = createBetterAuthHostedService(options, authBaseURL);
59
9
  return {
60
- async handleContext(request) {
61
- return json(toAuthContext(await getStoredSession(request, options, store)));
10
+ handleAuthRequest(request) {
11
+ return betterAuthService.handleAuthRequest(request);
62
12
  },
63
- async handleDevLogin(request) {
64
- return handleDevLogin(request, options, allowDevLogin, setSessionAndRedirect);
13
+ handleContext(request) {
14
+ return betterAuthService.handleContext(request);
65
15
  },
66
- async handleFeishuCallback(request) {
67
- return handleProviderCallback(request, "feishu", (code) => createUserFromFeishuCode(options, code));
68
- },
69
- async handleFeishuStart(request) {
16
+ handleFeishuStart(request) {
70
17
  return handleProviderStart(request, "feishu");
71
18
  },
72
- async handleGitHubCallback(request) {
73
- return handleProviderCallback(request, "github", (code, callbackURL) => createUserFromGitHubCode(options, code, callbackURL));
74
- },
75
- async handleGitHubStart(request) {
19
+ handleGitHubStart(request) {
76
20
  return handleProviderStart(request, "github");
77
21
  },
78
- async handleGoogleCallback(request) {
79
- return handleProviderCallback(request, "google", (code, callbackURL) => createUserFromGoogleCode(options, code, callbackURL));
80
- },
81
- async handleGoogleStart(request) {
22
+ handleGoogleStart(request) {
82
23
  return handleProviderStart(request, "google");
83
24
  },
84
- async handleLogin(request) {
85
- return handleLogin(request, options, authBaseURL, allowDevLogin);
25
+ handleLogin(request) {
26
+ return handleLogin(request, options, authBaseURL);
86
27
  },
87
- async handleLogout(request) {
88
- const url = new URL(request.url);
89
- const headers = new Headers();
90
- await deleteRequestSession(request, options, store);
91
- appendCookie(headers, clearCookie(request, options, options.cookieName ?? AUTH_SERVICE_SESSION_COOKIE));
92
- return redirect(url.searchParams.get("redirect_uri") ?? "/", headers);
28
+ handleLogout(request) {
29
+ return betterAuthService.handleLogout(request);
93
30
  },
94
- async handleSession(request) {
95
- const stored = await getStoredSession(request, options, store);
96
- return json(stored ? toAuthSession(stored.session) : null);
31
+ handleSession(request) {
32
+ return betterAuthService.handleSession(request);
97
33
  },
98
- async handleUser(request) {
99
- return json((await getStoredSession(request, options, store))?.user ?? null);
34
+ handleUser(request) {
35
+ return betterAuthService.handleUser(request);
100
36
  },
101
37
  };
102
- function getCallbackURL(provider) {
103
- return options[provider]?.redirectURI ?? `${authBaseURL}/api/auth/${provider}/callback`;
104
- }
105
- function getProviderClientId(provider) {
106
- return provider === "feishu" ? options.feishu?.appId : options[provider]?.clientId;
107
- }
108
- function redirectToProvider(request, app, redirectURI, provider, providerClientId) {
109
- const { payload, state } = createOAuthState(app, redirectURI);
110
- const authorizeUrl = createProviderAuthorizeUrl(provider, providerClientId, getCallbackURL(provider), state);
111
- const headers = new Headers();
112
- // state 写入签名 cookie,回调时校验 client/redirect,避免被篡改跳转目标。
113
- appendCookie(headers, createOAuthStateCookie(request, options, payload));
114
- return redirect(authorizeUrl.toString(), headers);
115
- }
116
- function createProviderAuthorizeUrl(provider, clientId, callbackURL, state) {
117
- if (provider === "feishu")
118
- return createFeishuAuthorizeUrl(clientId, callbackURL, state);
119
- if (provider === "google")
120
- return createGoogleAuthorizeUrl(clientId, callbackURL, state);
121
- return createGitHubAuthorizeUrl(clientId, callbackURL, state);
122
- }
123
- function createCallbackErrorUrl(provider, error, clientId, redirectURI) {
124
- const message = error instanceof Error ? error.message : `${getProviderLabel(provider)} 登录失败`;
125
- return `${authBaseURL}/login?client_id=${encodeURIComponent(clientId)}&redirect_uri=${encodeURIComponent(redirectURI)}&error=${encodeURIComponent(message)}`;
126
- }
127
- function createGoogleAuthorizeUrl(clientId, callbackURL, state) {
128
- const authorizeUrl = new URL("https://accounts.google.com/o/oauth2/v2/auth");
129
- authorizeUrl.searchParams.set("access_type", "offline");
130
- authorizeUrl.searchParams.set("client_id", clientId);
131
- authorizeUrl.searchParams.set("prompt", "select_account");
132
- authorizeUrl.searchParams.set("redirect_uri", callbackURL);
133
- authorizeUrl.searchParams.set("response_type", "code");
134
- authorizeUrl.searchParams.set("scope", (options.google?.scopes ?? ["openid", "email", "profile"]).join(" "));
135
- authorizeUrl.searchParams.set("state", state);
136
- return authorizeUrl;
137
- }
138
- function createGitHubAuthorizeUrl(clientId, callbackURL, state) {
139
- const authorizeUrl = new URL("https://github.com/login/oauth/authorize");
140
- authorizeUrl.searchParams.set("client_id", clientId);
141
- authorizeUrl.searchParams.set("redirect_uri", callbackURL);
142
- authorizeUrl.searchParams.set("scope", (options.github?.scopes ?? ["read:user", "user:email"]).join(" "));
143
- authorizeUrl.searchParams.set("state", state);
144
- return authorizeUrl;
145
- }
146
- }
147
- function createFeishuAuthorizeUrl(appId, callbackURL, state) {
148
- const authorizeUrl = new URL("https://open.feishu.cn/open-apis/authen/v1/index");
149
- authorizeUrl.searchParams.set("app_id", appId);
150
- authorizeUrl.searchParams.set("redirect_uri", callbackURL);
151
- authorizeUrl.searchParams.set("state", state);
152
- return authorizeUrl;
153
- }
154
- function getProviderDisabledMessage(provider) {
155
- return `${getProviderLabel(provider)} 登录未配置`;
156
- }
157
- function getProviderLabel(provider) {
158
- if (provider === "feishu")
159
- return "飞书";
160
- if (provider === "google")
161
- return "Google";
162
- return "GitHub";
163
- }
164
- function handleDevLogin(request, options, allowDevLogin, setSessionAndRedirect) {
165
- if (!allowDevLogin) {
166
- return json({ error: "开发登录未启用" }, { status: 403 });
167
- }
168
- const { app, error } = validateRequestClient(request, options);
169
- const redirectURI = getRedirectURI(request, app);
170
- if (error) {
171
- return json({ error }, { status: 400 });
172
- }
173
- if (!isRedirectAllowed(redirectURI, app)) {
174
- return json({ error: "redirect_uri 不在应用白名单中" }, { status: 400 });
38
+ function handleProviderStart(request, provider) {
39
+ const { app, error } = validateRequestClient(request, options);
40
+ const redirectURI = getRedirectURI(request, app);
41
+ if (error) {
42
+ return json({ error }, { status: 400 });
43
+ }
44
+ if (!isRedirectAllowed(redirectURI, app)) {
45
+ return json({ error: "redirect_uri 不在应用白名单中" }, { status: 400 });
46
+ }
47
+ if (!isProviderEnabled(options, provider)) {
48
+ return redirect(createLoginErrorURL(authBaseURL, app.clientId, redirectURI, `${getProviderLabel(provider)} 登录未启用`));
49
+ }
50
+ return betterAuthService.handleProviderStart(request, provider);
175
51
  }
176
- return setSessionAndRedirect(request, "dev", {
177
- email: "dev@example.com",
178
- id: "dev-user",
179
- metadata: { provider: "dev" },
180
- name: "开发账号",
181
- }, app.clientId, redirectURI);
182
52
  }
183
- function handleLogin(request, options, authBaseURL, allowDevLogin) {
53
+ function handleLogin(request, options, authBaseURL) {
184
54
  const url = new URL(request.url);
185
55
  const { app, error: clientError } = validateRequestClient(request, options);
186
56
  const redirectURI = getRedirectURI(request, app);
@@ -196,16 +66,11 @@ function handleLogin(request, options, authBaseURL, allowDevLogin) {
196
66
  return redirect(createProviderStartUrl(authBaseURL, provider, app.clientId, redirectURI).toString());
197
67
  }
198
68
  return html(renderLoginPage({
199
- allowDevLogin,
200
69
  app,
201
- appearance: options.appearance,
202
70
  authBaseURL,
203
71
  clientId: app.clientId,
72
+ enabledProviders: getEnabledProviders(options),
204
73
  error: loginError,
205
- feishuEnabled: Boolean(options.feishu?.appId && options.feishu?.appSecret),
206
- githubEnabled: Boolean(options.github?.clientId && options.github?.clientSecret),
207
- googleEnabled: Boolean(options.google?.clientId && options.google?.clientSecret),
208
- loginPage: options.loginPage,
209
74
  loginPageComponent: options.loginPageComponent,
210
75
  redirectURI,
211
76
  }));
@@ -213,4 +78,27 @@ function handleLogin(request, options, authBaseURL, allowDevLogin) {
213
78
  function isHostedProvider(provider) {
214
79
  return provider === "feishu" || provider === "google" || provider === "github";
215
80
  }
81
+ function getEnabledProviders(options) {
82
+ return hostedProviders.filter((provider) => isProviderEnabled(options, provider));
83
+ }
84
+ function isProviderEnabled(options, provider) {
85
+ if (options.config?.providers?.length && !options.config.providers.includes(provider)) {
86
+ return false;
87
+ }
88
+ return options.authProviders?.[provider]?.enabled !== false;
89
+ }
90
+ function createLoginErrorURL(authBaseURL, clientId, redirectURI, error) {
91
+ const url = new URL("/login", authBaseURL);
92
+ url.searchParams.set("client_id", clientId);
93
+ url.searchParams.set("redirect_uri", redirectURI);
94
+ url.searchParams.set("error", error);
95
+ return url.toString();
96
+ }
97
+ function getProviderLabel(provider) {
98
+ if (provider === "feishu")
99
+ return "飞书";
100
+ if (provider === "google")
101
+ return "Google";
102
+ return "GitHub";
103
+ }
216
104
  //# sourceMappingURL=service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/hosted-service/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/hosted-service/service.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,11 @@
1
- import type { HostedAuthStore } from "./store/index.js";
1
+ import type { UnifiedAuthConfig } from "../config.js";
2
2
  export type HostedAuthLoginProviderId = "feishu" | "github" | "google";
3
+ export type HostedBetterAuthProviderId = HostedAuthLoginProviderId | (string & {});
4
+ export interface HostedAuthBetterAuthProviderConfig {
5
+ enabled?: boolean;
6
+ providerId?: HostedBetterAuthProviderId;
7
+ scopes?: string[];
8
+ }
3
9
  export interface HostedAuthLoginProviderView {
4
10
  enabled: boolean;
5
11
  href: string;
@@ -9,10 +15,8 @@ export interface HostedAuthLoginProviderView {
9
15
  label: string;
10
16
  }
11
17
  export interface HostedAuthLoginPageModel {
12
- allowDevLogin: boolean;
13
18
  appName: string;
14
19
  clientId: string;
15
- devLoginHref: string;
16
20
  error?: string;
17
21
  providers: HostedAuthLoginProviderView[];
18
22
  redirectURI: string;
@@ -26,28 +30,29 @@ export type HostedAuthLoginPageComponent = ((props: HostedAuthLoginPageProps) =>
26
30
  };
27
31
  export interface HostedAuthApplication {
28
32
  allowedRedirectURIs?: string[];
29
- appearance?: HostedAuthAppearance;
30
33
  clientId: string;
31
- loginPage?: HostedAuthLoginPageConfig;
32
34
  loginPageComponent?: HostedAuthLoginPageComponent;
33
35
  name?: string;
34
36
  redirectURI?: string;
35
37
  }
38
+ export interface HostedAuthRuntimeEnv {
39
+ AUTH_ALLOWED_REDIRECT_URI?: string;
40
+ AUTH_CLIENT_ID?: string;
41
+ AUTH_CLIENT_NAME?: string;
42
+ AUTH_SERVICE_URL?: string;
43
+ BETTER_AUTH_URL?: string;
44
+ }
36
45
  export interface HostedAuthSingleApplicationOptions {
37
46
  allowedRedirectURIs?: string[];
38
47
  appName?: string;
39
- clientId: string;
48
+ clientId?: string;
40
49
  redirectURI?: string;
41
50
  siteURL?: string;
42
51
  }
43
- export interface HostedAuthAppearance {
44
- backgroundImageUrl?: string;
45
- }
46
52
  export interface HostedAuthLoginPageConfig {
47
53
  backgroundImageUrl?: string;
48
54
  brandLabel?: string;
49
55
  brandName?: string;
50
- devLoginLabel?: string;
51
56
  footerText?: string;
52
57
  heroDescription?: string;
53
58
  heroKicker?: string;
@@ -60,46 +65,31 @@ export interface HostedAuthLoginPageConfig {
60
65
  providers?: HostedAuthLoginProviderId[];
61
66
  statusText?: string;
62
67
  }
63
- export interface HostedFeishuConfig {
64
- appId?: string;
65
- appSecret?: string;
66
- redirectURI?: string;
67
- }
68
- export interface HostedGoogleConfig {
69
- clientId?: string;
70
- clientSecret?: string;
71
- redirectURI?: string;
72
- scopes?: string[];
68
+ export interface HostedBetterAuthSessionResult {
69
+ session: {
70
+ expiresAt?: Date | string | null;
71
+ id?: string | null;
72
+ token?: string | null;
73
+ userId?: string | null;
74
+ };
75
+ user: {
76
+ email?: string | null;
77
+ emailVerified?: boolean;
78
+ id: string;
79
+ image?: string | null;
80
+ name?: string | null;
81
+ [key: string]: unknown;
82
+ };
73
83
  }
74
- export interface HostedGitHubConfig {
75
- clientId?: string;
76
- clientSecret?: string;
77
- redirectURI?: string;
78
- scopes?: string[];
84
+ export interface HostedBetterAuthServer {
85
+ handler(request: Request): Promise<Response> | Response;
79
86
  }
80
87
  export interface HostedAuthServiceOptions extends HostedAuthSingleApplicationOptions {
81
- allowDevLogin?: boolean;
82
- appearance?: HostedAuthAppearance;
88
+ auth: HostedBetterAuthServer;
83
89
  authBaseURL?: string;
84
- cookieDomain?: string;
85
- cookieName?: string;
86
- feishu?: HostedFeishuConfig;
87
- github?: HostedGitHubConfig;
88
- google?: HostedGoogleConfig;
89
- loginPage?: HostedAuthLoginPageConfig;
90
+ authProviders?: Partial<Record<HostedAuthLoginProviderId, HostedAuthBetterAuthProviderConfig>>;
91
+ config?: UnifiedAuthConfig;
92
+ env?: HostedAuthRuntimeEnv;
90
93
  loginPageComponent?: HostedAuthLoginPageComponent;
91
- sessionSecret: string;
92
- store?: HostedAuthStore;
93
94
  }
94
- export type SessionPayload = {
95
- clientId: string;
96
- exp: number;
97
- sessionId: string;
98
- };
99
- export type StatePayload = {
100
- clientId: string;
101
- exp: number;
102
- redirectURI: string;
103
- state: string;
104
- };
105
95
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hosted-service/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,MAAM,yBAAyB,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEvE,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,EAAE,EAAE,yBAAyB,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,2BAA2B,EAAE,CAAC;IACzC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,yBAAyB,CAAC;IAClC,KAAK,EAAE,wBAAwB,CAAC;CACjC;AAED,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,EAAE,wBAAwB,KAAK,MAAM,CAAC,GAAG;IACzF,aAAa,CAAC,EAAE,yBAAyB,CAAC;CAC3C,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,yBAAyB,CAAC;IACtC,kBAAkB,CAAC,EAAE,4BAA4B,CAAC;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kCAAkC;IACjD,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,yBAAyB;IACxC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,yBAAyB,CAAC;IAC5C,SAAS,CAAC,EAAE,yBAAyB,EAAE,CAAC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,wBAAyB,SAAQ,kCAAkC;IAClF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,SAAS,CAAC,EAAE,yBAAyB,CAAC;IACtC,kBAAkB,CAAC,EAAE,4BAA4B,CAAC;IAClD,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hosted-service/types.ts"],"names":[],"mappings":"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"}