@rc-tool/unified-auth-hosted-service 0.2.5 → 0.2.7
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.
- package/README.md +98 -24
- package/dist/hosted-service/login-page/components.d.ts +13 -6
- package/dist/hosted-service/login-page/components.d.ts.map +1 -1
- package/dist/hosted-service/login-page/components.js +24 -16
- package/dist/hosted-service/login-page/components.js.map +1 -1
- package/dist/hosted-service/login-page/index.d.ts +4 -1
- package/dist/hosted-service/login-page/index.d.ts.map +1 -1
- package/dist/hosted-service/login-page/index.js +86 -16
- package/dist/hosted-service/login-page/index.js.map +1 -1
- package/dist/hosted-service/login-page/links.d.ts +2 -1
- package/dist/hosted-service/login-page/links.d.ts.map +1 -1
- package/dist/hosted-service/login-page/links.js +39 -30
- package/dist/hosted-service/login-page/links.js.map +1 -1
- package/dist/hosted-service/login-page/styles.d.ts +1 -1
- package/dist/hosted-service/login-page/styles.d.ts.map +1 -1
- package/dist/hosted-service/login-page/styles.js +1 -0
- package/dist/hosted-service/login-page/styles.js.map +1 -1
- package/dist/hosted-service/login-page/types.d.ts +8 -10
- package/dist/hosted-service/login-page/types.d.ts.map +1 -1
- package/dist/hosted-service/service.js +2 -0
- package/dist/hosted-service/service.js.map +1 -1
- package/dist/hosted-service/types.d.ts +46 -0
- package/dist/hosted-service/types.d.ts.map +1 -1
- package/dist/hosted-service-cli.js +15 -4
- package/dist/hosted-service-cli.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -13,22 +13,33 @@ pnpm add @rc-tool/unified-auth-sdk @rc-tool/unified-auth-hosted-service
|
|
|
13
13
|
## Next.js Embedded Routes
|
|
14
14
|
|
|
15
15
|
```ts
|
|
16
|
-
import {
|
|
16
|
+
import {
|
|
17
|
+
createFileAuthStore,
|
|
18
|
+
createHostedAuthLoginPageComponent,
|
|
19
|
+
createHostedAuthRouteHandlers,
|
|
20
|
+
} from "@rc-tool/unified-auth-hosted-service";
|
|
21
|
+
|
|
22
|
+
const LoginPage = createHostedAuthLoginPageComponent({
|
|
23
|
+
backgroundImageUrl: process.env.AUTH_LOGIN_BACKGROUND_URL,
|
|
24
|
+
brandName: "AI 项目管理平台",
|
|
25
|
+
heroTitle: "用企业账号安全登录",
|
|
26
|
+
panelTitle: "飞书登录",
|
|
27
|
+
primaryProvider: "feishu",
|
|
28
|
+
providers: ["feishu", "google", "github"],
|
|
29
|
+
});
|
|
17
30
|
|
|
18
31
|
export const hostedAuth = createHostedAuthRouteHandlers({
|
|
19
32
|
allowDevLogin: process.env.AUTH_ALLOW_DEV_LOGIN !== "false",
|
|
20
33
|
applications: [
|
|
21
34
|
{
|
|
22
35
|
allowedRedirectURIs: [process.env.AUTH_ALLOWED_REDIRECT_URI ?? "http://localhost:3004/"],
|
|
23
|
-
appearance: {
|
|
24
|
-
backgroundImageUrl: process.env.AUTH_LOGIN_BACKGROUND_URL,
|
|
25
|
-
},
|
|
26
36
|
clientId: process.env.AUTH_CLIENT_ID ?? "ai-pm",
|
|
27
37
|
name: process.env.AUTH_CLIENT_NAME ?? "AI PM",
|
|
28
38
|
redirectURI: process.env.AUTH_ALLOWED_REDIRECT_URI ?? "http://localhost:3004/",
|
|
29
39
|
},
|
|
30
40
|
],
|
|
31
41
|
authBaseURL: process.env.AUTH_SERVICE_URL ?? "http://localhost:3004",
|
|
42
|
+
loginPageComponent: LoginPage,
|
|
32
43
|
sessionSecret: process.env.AUTH_SESSION_SECRET!,
|
|
33
44
|
store: createFileAuthStore({
|
|
34
45
|
filePath: process.env.AUTH_STORE_FILE ?? ".auth/unified-auth-store.json",
|
|
@@ -63,21 +74,36 @@ The default store is file-based. Install `@rc-tool/unified-auth-prisma-store` on
|
|
|
63
74
|
pnpm dlx @rc-tool/unified-auth-hosted-service init --app ai-pm --redirect http://localhost:3004/
|
|
64
75
|
```
|
|
65
76
|
|
|
66
|
-
###
|
|
67
|
-
|
|
68
|
-
Hosted Auth 登录页默认带兜底背景图,也支持业务项目覆盖。最简单的方式是在业务项目环境变量里配置:
|
|
77
|
+
### 登录页组件
|
|
69
78
|
|
|
70
|
-
|
|
71
|
-
AUTH_LOGIN_BACKGROUND_URL=https://cdn.example.com/auth/login-bg.jpg
|
|
72
|
-
```
|
|
79
|
+
Hosted Auth 登录页是 SDK 内部组件化渲染的黑盒页面。业务方不需要自己拼 OAuth 链接、state、callback 或 session,只需要把 SDK 提供的登录页组件传给 `loginPageComponent`。如果不传组件,SDK 会使用内置默认组件和预设样式。
|
|
73
80
|
|
|
74
|
-
|
|
81
|
+
推荐写法:
|
|
75
82
|
|
|
76
83
|
```ts
|
|
84
|
+
import {
|
|
85
|
+
createFileAuthStore,
|
|
86
|
+
createHostedAuthLoginPageComponent,
|
|
87
|
+
createHostedAuthRouteHandlers,
|
|
88
|
+
} from "@rc-tool/unified-auth-hosted-service";
|
|
89
|
+
|
|
90
|
+
const LoginPage = createHostedAuthLoginPageComponent({
|
|
91
|
+
backgroundImageUrl: "https://cdn.example.com/auth/login-bg.jpg",
|
|
92
|
+
brandLabel: "企业协作入口",
|
|
93
|
+
brandName: "AI 项目管理平台",
|
|
94
|
+
devLoginLabel: "使用开发身份进入",
|
|
95
|
+
footerText: "Powered by Unified Auth",
|
|
96
|
+
heroDescription: "统一身份校验后进入项目驾驶舱。",
|
|
97
|
+
heroTitle: "欢迎回到项目驾驶舱",
|
|
98
|
+
logoUrl: "https://cdn.example.com/auth/logo.png",
|
|
99
|
+
panelDescription: "使用企业授权账号完成登录。",
|
|
100
|
+
panelTitle: "用飞书账号登录",
|
|
101
|
+
primaryProvider: "feishu",
|
|
102
|
+
providers: ["feishu", "google", "github"],
|
|
103
|
+
statusText: "企业 SSO",
|
|
104
|
+
});
|
|
105
|
+
|
|
77
106
|
export const hostedAuth = createHostedAuthRouteHandlers({
|
|
78
|
-
appearance: {
|
|
79
|
-
backgroundImageUrl: process.env.AUTH_LOGIN_BACKGROUND_URL,
|
|
80
|
-
},
|
|
81
107
|
applications: [
|
|
82
108
|
{
|
|
83
109
|
clientId: process.env.AUTH_CLIENT_ID ?? "ai-pm",
|
|
@@ -86,6 +112,7 @@ export const hostedAuth = createHostedAuthRouteHandlers({
|
|
|
86
112
|
},
|
|
87
113
|
],
|
|
88
114
|
authBaseURL: process.env.AUTH_SERVICE_URL ?? "http://localhost:3004",
|
|
115
|
+
loginPageComponent: LoginPage,
|
|
89
116
|
sessionSecret: process.env.AUTH_SESSION_SECRET!,
|
|
90
117
|
store: createFileAuthStore({
|
|
91
118
|
filePath: process.env.AUTH_STORE_FILE ?? ".auth/unified-auth-store.json",
|
|
@@ -93,23 +120,45 @@ export const hostedAuth = createHostedAuthRouteHandlers({
|
|
|
93
120
|
});
|
|
94
121
|
```
|
|
95
122
|
|
|
96
|
-
|
|
123
|
+
组件配置项:
|
|
124
|
+
|
|
125
|
+
| 字段 | 作用 |
|
|
126
|
+
| --- | --- |
|
|
127
|
+
| `backgroundImageUrl` | 登录页背景图地址。可以是 CDN、业务项目 public 图片的绝对 URL,或任何浏览器可访问的图片。 |
|
|
128
|
+
| `logoUrl` | 左侧品牌图标。未配置时使用 SDK 默认闪电标识。 |
|
|
129
|
+
| `brandName` | 左侧品牌名称,默认取应用 `name`。 |
|
|
130
|
+
| `brandLabel` / `heroKicker` | 左侧标题上方的小标签。 |
|
|
131
|
+
| `heroTitle` | 左侧主标题。 |
|
|
132
|
+
| `heroDescription` | 左侧说明文案。 |
|
|
133
|
+
| `panelTitle` | 右侧登录面板标题。 |
|
|
134
|
+
| `panelDescription` | 右侧登录面板说明。 |
|
|
135
|
+
| `primaryProvider` | 主按钮登录方式,可选 `feishu`、`google`、`github`。 |
|
|
136
|
+
| `providers` | 登录方式展示顺序和范围,例如只展示 `["feishu"]`。未配置时展示全部已启用 provider。 |
|
|
137
|
+
| `statusText` | 右上角状态标签,传空字符串可以隐藏。 |
|
|
138
|
+
| `devLoginLabel` | 开发登录入口文案。 |
|
|
139
|
+
| `footerText` | 底部说明文案,传空字符串可以隐藏。 |
|
|
140
|
+
|
|
141
|
+
如果一个 Auth Service 服务多个业务应用,可以给每个 `applications[]` 单独指定不同组件:
|
|
97
142
|
|
|
98
143
|
```ts
|
|
99
144
|
applications: [
|
|
100
145
|
{
|
|
101
|
-
appearance: {
|
|
102
|
-
backgroundImageUrl: "https://cdn.example.com/ai-pm-login.jpg",
|
|
103
|
-
},
|
|
104
146
|
clientId: "ai-pm",
|
|
147
|
+
loginPageComponent: createHostedAuthLoginPageComponent({
|
|
148
|
+
backgroundImageUrl: "https://cdn.example.com/ai-pm-login.jpg",
|
|
149
|
+
heroTitle: "欢迎回到 AI PM",
|
|
150
|
+
panelTitle: "用飞书账号登录",
|
|
151
|
+
}),
|
|
105
152
|
name: "AI PM",
|
|
106
153
|
redirectURI: "http://localhost:3004/",
|
|
107
154
|
},
|
|
108
155
|
{
|
|
109
|
-
appearance: {
|
|
110
|
-
backgroundImageUrl: "https://cdn.example.com/admin-login.jpg",
|
|
111
|
-
},
|
|
112
156
|
clientId: "admin-console",
|
|
157
|
+
loginPageComponent: createHostedAuthLoginPageComponent({
|
|
158
|
+
backgroundImageUrl: "https://cdn.example.com/admin-login.jpg",
|
|
159
|
+
heroTitle: "管理员控制台",
|
|
160
|
+
panelTitle: "企业 SSO 登录",
|
|
161
|
+
}),
|
|
113
162
|
name: "Admin Console",
|
|
114
163
|
redirectURI: "https://admin.example.com/",
|
|
115
164
|
},
|
|
@@ -118,9 +167,34 @@ applications: [
|
|
|
118
167
|
|
|
119
168
|
配置优先级是:
|
|
120
169
|
|
|
121
|
-
1. `applications[].
|
|
122
|
-
2. `createHostedAuthRouteHandlers({
|
|
123
|
-
3. SDK
|
|
170
|
+
1. `applications[].loginPageComponent`
|
|
171
|
+
2. `createHostedAuthRouteHandlers({ loginPageComponent })`
|
|
172
|
+
3. SDK 默认登录页组件
|
|
173
|
+
|
|
174
|
+
旧的 `loginPage` 和 `appearance.backgroundImageUrl` 仍然兼容,但新项目推荐用 `loginPageComponent`。
|
|
175
|
+
|
|
176
|
+
环境变量仍然可以作为配置来源,但不是必须。比如:
|
|
177
|
+
|
|
178
|
+
```ts
|
|
179
|
+
const LoginPage = createHostedAuthLoginPageComponent({
|
|
180
|
+
backgroundImageUrl: process.env.AUTH_LOGIN_BACKGROUND_URL,
|
|
181
|
+
heroTitle: process.env.AUTH_LOGIN_HERO_TITLE,
|
|
182
|
+
});
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
也可以完全自定义组件,但组件只拿 SDK 生成好的 `model`,不需要接触 secret、state 签名、callback 或 session:
|
|
186
|
+
|
|
187
|
+
```ts
|
|
188
|
+
const LoginPage = ({ model }) => {
|
|
189
|
+
const feishu = model.providers.find((provider) => provider.id === "feishu");
|
|
190
|
+
|
|
191
|
+
return `<!doctype html>
|
|
192
|
+
<main>
|
|
193
|
+
<h1>${model.appName}</h1>
|
|
194
|
+
<a href="${feishu?.href ?? "#"}">使用飞书登录</a>
|
|
195
|
+
</main>`;
|
|
196
|
+
};
|
|
197
|
+
```
|
|
124
198
|
|
|
125
199
|
### 业务应用配置
|
|
126
200
|
|
|
@@ -1,8 +1,15 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export
|
|
3
|
-
|
|
1
|
+
import type { LoginProviderId, LoginProviderView } from "./types.js";
|
|
2
|
+
export type LoginPageHeroContent = {
|
|
3
|
+
brandName: string;
|
|
4
|
+
heroDescription: string;
|
|
5
|
+
heroKicker: string;
|
|
6
|
+
heroTitle: string;
|
|
7
|
+
logoUrl?: string;
|
|
8
|
+
};
|
|
9
|
+
export declare function renderBrand(appName: string, logoUrl?: string): string;
|
|
10
|
+
export declare function renderHero(content: LoginPageHeroContent): string;
|
|
4
11
|
export declare function renderError(error?: string): string;
|
|
5
|
-
export declare function renderProviderList(providers: LoginProviderView[]): string;
|
|
6
|
-
export declare function renderDevLogin(allowDevLogin: boolean,
|
|
7
|
-
export declare function renderFooter(clientId: string): string;
|
|
12
|
+
export declare function renderProviderList(providers: LoginProviderView[], primaryProviderId?: LoginProviderId): string;
|
|
13
|
+
export declare function renderDevLogin(allowDevLogin: boolean, href: string, label?: string): string;
|
|
14
|
+
export declare function renderFooter(clientId: string, footerText?: string): string;
|
|
8
15
|
//# sourceMappingURL=components.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../src/hosted-service/login-page/components.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../src/hosted-service/login-page/components.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAErE,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,UAc5D;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,oBAAoB,UAQvD;AAED,wBAAgB,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,UAEzC;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,iBAAiB,EAAE,EAAE,iBAAiB,CAAC,EAAE,eAAe,UAqBrG;AAED,wBAAgB,cAAc,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,SAAa,UAMtF;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,UAWjE"}
|
|
@@ -1,31 +1,35 @@
|
|
|
1
1
|
import { escapeHtml } from "./escape.js";
|
|
2
|
-
export function renderBrand(appName) {
|
|
2
|
+
export function renderBrand(appName, logoUrl) {
|
|
3
|
+
const mark = logoUrl
|
|
4
|
+
? `<img src="${escapeHtml(logoUrl)}" alt="" />`
|
|
5
|
+
: `<svg viewBox="0 0 32 32">
|
|
6
|
+
<path d="M13.7 4.8h9.2l-5.1 9.1h6.6L10.2 27.5l4.1-10.6H7.6L13.7 4.8z" fill="currentColor"/>
|
|
7
|
+
</svg>`;
|
|
3
8
|
return `
|
|
4
9
|
<div class="brand-row" aria-label="${escapeHtml(appName)}">
|
|
5
10
|
<div class="mark" aria-hidden="true">
|
|
6
|
-
|
|
7
|
-
<path d="M13.7 4.8h9.2l-5.1 9.1h6.6L10.2 27.5l4.1-10.6H7.6L13.7 4.8z" fill="currentColor"/>
|
|
8
|
-
</svg>
|
|
11
|
+
${mark}
|
|
9
12
|
</div>
|
|
10
13
|
<div class="brand-title">${escapeHtml(appName)}</div>
|
|
11
14
|
</div>`;
|
|
12
15
|
}
|
|
13
|
-
export function renderHero(
|
|
14
|
-
const provider = primaryProvider?.label ?? "统一账号";
|
|
16
|
+
export function renderHero(content) {
|
|
15
17
|
return `
|
|
16
18
|
<section class="hero-copy" aria-label="登录介绍">
|
|
17
|
-
${renderBrand(
|
|
18
|
-
<div class="hero-kicker"
|
|
19
|
-
<h1
|
|
20
|
-
<p
|
|
19
|
+
${renderBrand(content.brandName, content.logoUrl)}
|
|
20
|
+
<div class="hero-kicker">${escapeHtml(content.heroKicker)}</div>
|
|
21
|
+
<h1>${escapeHtml(content.heroTitle)}</h1>
|
|
22
|
+
<p>${escapeHtml(content.heroDescription)}</p>
|
|
21
23
|
</section>`;
|
|
22
24
|
}
|
|
23
25
|
export function renderError(error) {
|
|
24
26
|
return error ? `<div class="error">${escapeHtml(error)}</div>` : "";
|
|
25
27
|
}
|
|
26
|
-
export function renderProviderList(providers) {
|
|
28
|
+
export function renderProviderList(providers, primaryProviderId) {
|
|
27
29
|
const enabledProviders = providers.filter((provider) => provider.enabled);
|
|
28
|
-
const primaryProvider =
|
|
30
|
+
const primaryProvider = primaryProviderId
|
|
31
|
+
? enabledProviders.find((provider) => provider.id === primaryProviderId) ?? enabledProviders[0]
|
|
32
|
+
: enabledProviders[0];
|
|
29
33
|
if (!primaryProvider) {
|
|
30
34
|
return `<div class="provider-empty">当前没有可用登录方式,请联系管理员完成 OAuth 配置。</div>`;
|
|
31
35
|
}
|
|
@@ -40,16 +44,20 @@ export function renderProviderList(providers) {
|
|
|
40
44
|
</div>` : ""}
|
|
41
45
|
</section>`;
|
|
42
46
|
}
|
|
43
|
-
export function renderDevLogin(allowDevLogin,
|
|
47
|
+
export function renderDevLogin(allowDevLogin, href, label = "使用开发账号进入") {
|
|
44
48
|
if (!allowDevLogin) {
|
|
45
49
|
return "";
|
|
46
50
|
}
|
|
47
|
-
return `<a class="dev-link" href="${escapeHtml(
|
|
51
|
+
return `<a class="dev-link" href="${escapeHtml(href)}">${escapeHtml(label)}</a>`;
|
|
48
52
|
}
|
|
49
|
-
export function renderFooter(clientId) {
|
|
53
|
+
export function renderFooter(clientId, footerText) {
|
|
54
|
+
if (footerText === "") {
|
|
55
|
+
return "";
|
|
56
|
+
}
|
|
57
|
+
const label = footerText ?? `client_id: ${clientId}`;
|
|
50
58
|
return `
|
|
51
59
|
<div class="footer-row">
|
|
52
|
-
<span
|
|
60
|
+
<span>${escapeHtml(label)}</span>
|
|
53
61
|
</div>`;
|
|
54
62
|
}
|
|
55
63
|
function renderProviderTile(provider) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.js","sourceRoot":"","sources":["../../../src/hosted-service/login-page/components.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"components.js","sourceRoot":"","sources":["../../../src/hosted-service/login-page/components.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
import type { RenderLoginPageParams } from "./types.js";
|
|
1
|
+
import type { LoginPageComponent, RenderLoginPageParams } from "./types.js";
|
|
2
|
+
import type { HostedAuthLoginPageConfig } from "../types.js";
|
|
2
3
|
export declare function renderLoginPage(params: RenderLoginPageParams): string;
|
|
4
|
+
export declare function createHostedAuthLoginPageComponent(defaultConfig?: HostedAuthLoginPageConfig): LoginPageComponent;
|
|
5
|
+
export declare const defaultHostedAuthLoginPageComponent: LoginPageComponent;
|
|
3
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hosted-service/login-page/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hosted-service/login-page/index.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,kBAAkB,EAIlB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAW7D,wBAAgB,eAAe,CAAC,MAAM,EAAE,qBAAqB,UAQ5D;AAED,wBAAgB,kCAAkC,CAChD,aAAa,GAAE,yBAA8B,GAC5C,kBAAkB,CASpB;AAED,eAAO,MAAM,mCAAmC,EAAE,kBAyBjD,CAAC"}
|
|
@@ -3,28 +3,98 @@ import { renderDocument } from "./document.js";
|
|
|
3
3
|
import { escapeHtml } from "./escape.js";
|
|
4
4
|
import { createLoginPageLinks } from "./links.js";
|
|
5
5
|
export function renderLoginPage(params) {
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
const component = params.app.loginPageComponent ?? params.loginPageComponent ?? defaultHostedAuthLoginPageComponent;
|
|
7
|
+
const loginPage = mergeLoginPageConfig(component.defaultConfig ?? {}, resolveLoginPageConfig(params));
|
|
8
|
+
return component({
|
|
9
|
+
config: loginPage,
|
|
10
|
+
model: createLoginPageModel(params, loginPage),
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
export function createHostedAuthLoginPageComponent(defaultConfig = {}) {
|
|
14
|
+
const component = (props) => defaultHostedAuthLoginPageComponent({
|
|
15
|
+
config: mergeLoginPageConfig(defaultConfig, props.config),
|
|
16
|
+
model: props.model,
|
|
17
|
+
});
|
|
18
|
+
component.defaultConfig = defaultConfig;
|
|
19
|
+
return component;
|
|
20
|
+
}
|
|
21
|
+
export const defaultHostedAuthLoginPageComponent = (props) => {
|
|
22
|
+
const primaryProvider = resolvePrimaryProvider(props.model.providers, props.config.primaryProvider);
|
|
23
|
+
const content = resolveLoginPageContent(props.config, props.model.appName, primaryProvider);
|
|
24
|
+
const status = content.statusText
|
|
25
|
+
? `<div class="auth-status">${escapeHtml(content.statusText)}</div>`
|
|
26
|
+
: "";
|
|
11
27
|
return renderDocument({
|
|
12
|
-
backgroundImageUrl:
|
|
28
|
+
backgroundImageUrl: props.config.backgroundImageUrl,
|
|
13
29
|
body: `
|
|
14
|
-
|
|
30
|
+
${status}
|
|
15
31
|
<main class="auth-shell">
|
|
16
|
-
${renderHero(
|
|
32
|
+
${renderHero(content)}
|
|
17
33
|
<section class="login-panel" aria-labelledby="login-title">
|
|
18
|
-
<div class="login-kicker">${escapeHtml(
|
|
19
|
-
<h2 id="login-title">${escapeHtml(
|
|
20
|
-
<p
|
|
21
|
-
${renderError(
|
|
22
|
-
${renderProviderList(
|
|
23
|
-
${renderDevLogin(
|
|
24
|
-
${renderFooter(
|
|
34
|
+
<div class="login-kicker">${escapeHtml(content.panelKicker)}</div>
|
|
35
|
+
<h2 id="login-title">${escapeHtml(content.panelTitle)}</h2>
|
|
36
|
+
<p>${escapeHtml(content.panelDescription)}</p>
|
|
37
|
+
${renderError(props.model.error)}
|
|
38
|
+
${renderProviderList(props.model.providers, props.config.primaryProvider)}
|
|
39
|
+
${renderDevLogin(props.model.allowDevLogin, props.model.devLoginHref, content.devLoginLabel)}
|
|
40
|
+
${renderFooter(props.model.clientId, content.footerText)}
|
|
25
41
|
</section>
|
|
26
42
|
</main>`,
|
|
27
|
-
title:
|
|
43
|
+
title: content.panelKicker,
|
|
28
44
|
});
|
|
45
|
+
};
|
|
46
|
+
function createLoginPageModel(params, loginPage) {
|
|
47
|
+
const links = createLoginPageLinks(params, loginPage);
|
|
48
|
+
return {
|
|
49
|
+
allowDevLogin: params.allowDevLogin,
|
|
50
|
+
appName: params.app.name ?? params.clientId,
|
|
51
|
+
clientId: params.clientId,
|
|
52
|
+
devLoginHref: links.devLogin,
|
|
53
|
+
error: params.error,
|
|
54
|
+
providers: links.providers,
|
|
55
|
+
redirectURI: params.redirectURI,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
function resolveLoginPageConfig(params) {
|
|
59
|
+
const serviceLoginPage = params.loginPage ?? {};
|
|
60
|
+
const appLoginPage = params.app.loginPage ?? {};
|
|
61
|
+
return {
|
|
62
|
+
...serviceLoginPage,
|
|
63
|
+
...appLoginPage,
|
|
64
|
+
backgroundImageUrl: appLoginPage.backgroundImageUrl
|
|
65
|
+
?? params.app.appearance?.backgroundImageUrl
|
|
66
|
+
?? serviceLoginPage.backgroundImageUrl
|
|
67
|
+
?? params.appearance?.backgroundImageUrl,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
function mergeLoginPageConfig(defaultConfig, overrideConfig) {
|
|
71
|
+
return {
|
|
72
|
+
...defaultConfig,
|
|
73
|
+
...overrideConfig,
|
|
74
|
+
backgroundImageUrl: overrideConfig.backgroundImageUrl ?? defaultConfig.backgroundImageUrl,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
function resolvePrimaryProvider(providers, primaryProviderId) {
|
|
78
|
+
const enabledProviders = providers.filter((provider) => provider.enabled);
|
|
79
|
+
return primaryProviderId
|
|
80
|
+
? enabledProviders.find((provider) => provider.id === primaryProviderId) ?? enabledProviders[0]
|
|
81
|
+
: enabledProviders[0];
|
|
82
|
+
}
|
|
83
|
+
function resolveLoginPageContent(loginPage, appName, primaryProvider) {
|
|
84
|
+
const brandName = loginPage.brandName ?? appName;
|
|
85
|
+
const providerName = primaryProvider?.label ?? "统一账号";
|
|
86
|
+
return {
|
|
87
|
+
brandName,
|
|
88
|
+
devLoginLabel: loginPage.devLoginLabel,
|
|
89
|
+
footerText: loginPage.footerText,
|
|
90
|
+
heroDescription: loginPage.heroDescription ?? `登录后将回到 ${appName},继续处理你的工作事项。`,
|
|
91
|
+
heroKicker: loginPage.heroKicker ?? loginPage.brandLabel ?? "统一认证中心",
|
|
92
|
+
heroTitle: loginPage.heroTitle ?? `用${providerName}安全登录`,
|
|
93
|
+
logoUrl: loginPage.logoUrl,
|
|
94
|
+
panelDescription: loginPage.panelDescription ?? "使用企业授权账号完成身份校验,首次使用会自动完成账号创建和身份绑定。",
|
|
95
|
+
panelKicker: loginPage.panelKicker ?? `${appName} 统一登录`,
|
|
96
|
+
panelTitle: loginPage.panelTitle ?? (primaryProvider ? `${primaryProvider.label}登录` : "选择登录方式"),
|
|
97
|
+
statusText: loginPage.statusText ?? "安全认证",
|
|
98
|
+
};
|
|
29
99
|
}
|
|
30
100
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hosted-service/login-page/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hosted-service/login-page/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { LoginPageLinks, RenderLoginPageParams } from "./types.js";
|
|
2
|
-
|
|
2
|
+
import type { HostedAuthLoginPageConfig } from "../types.js";
|
|
3
|
+
export declare function createLoginPageLinks(params: RenderLoginPageParams, loginPage?: HostedAuthLoginPageConfig): LoginPageLinks;
|
|
3
4
|
//# sourceMappingURL=links.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../../../src/hosted-service/login-page/links.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../../../src/hosted-service/login-page/links.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAsC,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAC5G,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAuE7D,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,qBAAqB,EAC7B,SAAS,CAAC,EAAE,yBAAyB,GACpC,cAAc,CAShB"}
|
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
import { createProviderStartUrl } from "../applications.js";
|
|
2
2
|
import { feishuIcon, githubIcon, googleIcon } from "./icons.js";
|
|
3
|
+
const defaultProviderOrder = ["feishu", "google", "github"];
|
|
4
|
+
const providerDefinitions = {
|
|
5
|
+
feishu: {
|
|
6
|
+
icon: feishuIcon,
|
|
7
|
+
iconClassName: "provider-icon-feishu",
|
|
8
|
+
label: "飞书",
|
|
9
|
+
},
|
|
10
|
+
github: {
|
|
11
|
+
icon: githubIcon,
|
|
12
|
+
iconClassName: "provider-icon-github",
|
|
13
|
+
label: "GitHub",
|
|
14
|
+
},
|
|
15
|
+
google: {
|
|
16
|
+
icon: googleIcon,
|
|
17
|
+
iconClassName: "provider-icon-google",
|
|
18
|
+
label: "Google",
|
|
19
|
+
},
|
|
20
|
+
};
|
|
3
21
|
function createDevLoginUrl(params) {
|
|
4
22
|
const devUrl = new URL("/api/auth/dev-login", params.authBaseURL);
|
|
5
23
|
devUrl.searchParams.set("client_id", params.clientId);
|
|
@@ -7,44 +25,35 @@ function createDevLoginUrl(params) {
|
|
|
7
25
|
return devUrl.toString();
|
|
8
26
|
}
|
|
9
27
|
function createProvider(params) {
|
|
28
|
+
const provider = providerDefinitions[params.id];
|
|
10
29
|
return {
|
|
11
30
|
enabled: params.enabled,
|
|
12
31
|
href: createProviderStartUrl(params.authBaseURL, params.id, params.clientId, params.redirectURI).toString(),
|
|
13
|
-
icon:
|
|
14
|
-
iconClassName:
|
|
32
|
+
icon: provider.icon,
|
|
33
|
+
iconClassName: provider.iconClassName,
|
|
15
34
|
id: params.id,
|
|
16
|
-
label:
|
|
35
|
+
label: provider.label,
|
|
17
36
|
};
|
|
18
37
|
}
|
|
19
|
-
|
|
38
|
+
function getProviderEnabled(params, provider) {
|
|
39
|
+
if (provider === "feishu")
|
|
40
|
+
return params.feishuEnabled;
|
|
41
|
+
if (provider === "github")
|
|
42
|
+
return params.githubEnabled;
|
|
43
|
+
return params.googleEnabled;
|
|
44
|
+
}
|
|
45
|
+
function getProviderOrder(providers) {
|
|
46
|
+
const ordered = providers?.length ? providers : defaultProviderOrder;
|
|
47
|
+
return ordered.filter((provider, index) => ordered.indexOf(provider) === index);
|
|
48
|
+
}
|
|
49
|
+
export function createLoginPageLinks(params, loginPage) {
|
|
20
50
|
return {
|
|
21
51
|
devLogin: createDevLoginUrl(params),
|
|
22
|
-
providers:
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
iconClassName: "provider-icon-feishu",
|
|
28
|
-
id: "feishu",
|
|
29
|
-
label: "飞书",
|
|
30
|
-
}),
|
|
31
|
-
createProvider({
|
|
32
|
-
...params,
|
|
33
|
-
enabled: params.googleEnabled,
|
|
34
|
-
icon: googleIcon,
|
|
35
|
-
iconClassName: "provider-icon-google",
|
|
36
|
-
id: "google",
|
|
37
|
-
label: "Google",
|
|
38
|
-
}),
|
|
39
|
-
createProvider({
|
|
40
|
-
...params,
|
|
41
|
-
enabled: params.githubEnabled,
|
|
42
|
-
icon: githubIcon,
|
|
43
|
-
iconClassName: "provider-icon-github",
|
|
44
|
-
id: "github",
|
|
45
|
-
label: "GitHub",
|
|
46
|
-
}),
|
|
47
|
-
],
|
|
52
|
+
providers: getProviderOrder(loginPage?.providers).map((provider) => createProvider({
|
|
53
|
+
...params,
|
|
54
|
+
enabled: getProviderEnabled(params, provider),
|
|
55
|
+
id: provider,
|
|
56
|
+
})),
|
|
48
57
|
};
|
|
49
58
|
}
|
|
50
59
|
//# sourceMappingURL=links.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"links.js","sourceRoot":"","sources":["../../../src/hosted-service/login-page/links.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"links.js","sourceRoot":"","sources":["../../../src/hosted-service/login-page/links.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAIhE,MAAM,oBAAoB,GAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAE/E,MAAM,mBAAmB,GAIpB;IACH,MAAM,EAAE;QACN,IAAI,EAAE,UAAU;QAChB,aAAa,EAAE,sBAAsB;QACrC,KAAK,EAAE,IAAI;KACZ;IACD,MAAM,EAAE;QACN,IAAI,EAAE,UAAU;QAChB,aAAa,EAAE,sBAAsB;QACrC,KAAK,EAAE,QAAQ;KAChB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,UAAU;QAChB,aAAa,EAAE,sBAAsB;QACrC,KAAK,EAAE,QAAQ;KAChB;CACF,CAAC;AAEF,SAAS,iBAAiB,CAAC,MAA6B;IACtD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAElE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAE5D,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,cAAc,CAAC,MAMvB;IACC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAEhD,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI,EAAE,sBAAsB,CAC1B,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,EAAE,EACT,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,WAAW,CACnB,CAAC,QAAQ,EAAE;QACZ,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,KAAK,EAAE,QAAQ,CAAC,KAAK;KACtB,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,MAA6B,EAAE,QAAyB;IAClF,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,aAAa,CAAC;IACvD,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,aAAa,CAAC;IACvD,OAAO,MAAM,CAAC,aAAa,CAAC;AAC9B,CAAC;AAED,SAAS,gBAAgB,CAAC,SAA6B;IACrD,MAAM,OAAO,GAAG,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC;IAErE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,MAA6B,EAC7B,SAAqC;IAErC,OAAO;QACL,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC;QACnC,SAAS,EAAE,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,cAAc,CAAC;YACjF,GAAG,MAAM;YACT,OAAO,EAAE,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC;YAC7C,EAAE,EAAE,QAAQ;SACb,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC"}
|
|
@@ -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.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.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";
|
|
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,
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/hosted-service/login-page/styles.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,u5MA8F3B,CAAC"}
|
|
@@ -29,6 +29,7 @@ a { min-height: 44px; display: flex; align-items: center; justify-content: cente
|
|
|
29
29
|
background: linear-gradient(135deg, #4f8cff 0%, #22d4b8 100%); color: #fff; box-shadow: 0 16px 32px rgb(34 211 238 / 18%);
|
|
30
30
|
}
|
|
31
31
|
.mark svg { width: 30px; height: 30px; display: block; }
|
|
32
|
+
.mark img { width: 100%; height: 100%; display: block; border-radius: inherit; object-fit: cover; }
|
|
32
33
|
.brand-title {
|
|
33
34
|
display: inline-flex; align-items: center; min-height: 28px; padding: 0 10px; border-radius: 6px;
|
|
34
35
|
background: rgb(15 23 42 / 48%); color: #bfdbfe; font-size: 14px; font-weight: 700;
|
|
@@ -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
|
|
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,13 +1,9 @@
|
|
|
1
|
-
import type { HostedAuthAppearance, HostedAuthApplication } from "../types.js";
|
|
2
|
-
export type LoginProviderId =
|
|
3
|
-
export type LoginProviderView =
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
iconClassName: string;
|
|
8
|
-
id: LoginProviderId;
|
|
9
|
-
label: string;
|
|
10
|
-
};
|
|
1
|
+
import type { HostedAuthAppearance, HostedAuthApplication, HostedAuthLoginPageComponent, HostedAuthLoginPageConfig, HostedAuthLoginPageModel, HostedAuthLoginPageProps, HostedAuthLoginProviderId, HostedAuthLoginProviderView } from "../types.js";
|
|
2
|
+
export type LoginProviderId = HostedAuthLoginProviderId;
|
|
3
|
+
export type LoginProviderView = HostedAuthLoginProviderView;
|
|
4
|
+
export type LoginPageModel = HostedAuthLoginPageModel;
|
|
5
|
+
export type LoginPageProps = HostedAuthLoginPageProps;
|
|
6
|
+
export type LoginPageComponent = HostedAuthLoginPageComponent;
|
|
11
7
|
export type LoginPageLinks = {
|
|
12
8
|
devLogin: string;
|
|
13
9
|
providers: LoginProviderView[];
|
|
@@ -22,6 +18,8 @@ export type RenderLoginPageParams = {
|
|
|
22
18
|
feishuEnabled: boolean;
|
|
23
19
|
githubEnabled: boolean;
|
|
24
20
|
googleEnabled: boolean;
|
|
21
|
+
loginPage?: HostedAuthLoginPageConfig;
|
|
22
|
+
loginPageComponent?: HostedAuthLoginPageComponent;
|
|
25
23
|
redirectURI: string;
|
|
26
24
|
};
|
|
27
25
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/hosted-service/login-page/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
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"}
|
|
@@ -199,6 +199,8 @@ function handleLogin(request, options, authBaseURL, allowDevLogin) {
|
|
|
199
199
|
feishuEnabled: Boolean(options.feishu?.appId && options.feishu?.appSecret),
|
|
200
200
|
githubEnabled: Boolean(options.github?.clientId && options.github?.clientSecret),
|
|
201
201
|
googleEnabled: Boolean(options.google?.clientId && options.google?.clientSecret),
|
|
202
|
+
loginPage: options.loginPage,
|
|
203
|
+
loginPageComponent: options.loginPageComponent,
|
|
202
204
|
redirectURI,
|
|
203
205
|
}));
|
|
204
206
|
}
|
|
@@ -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,14 +1,58 @@
|
|
|
1
1
|
import type { HostedAuthStore } from "./store/index.js";
|
|
2
|
+
export type HostedAuthLoginProviderId = "feishu" | "github" | "google";
|
|
3
|
+
export interface HostedAuthLoginProviderView {
|
|
4
|
+
enabled: boolean;
|
|
5
|
+
href: string;
|
|
6
|
+
icon: string;
|
|
7
|
+
iconClassName: string;
|
|
8
|
+
id: HostedAuthLoginProviderId;
|
|
9
|
+
label: string;
|
|
10
|
+
}
|
|
11
|
+
export interface HostedAuthLoginPageModel {
|
|
12
|
+
allowDevLogin: boolean;
|
|
13
|
+
appName: string;
|
|
14
|
+
clientId: string;
|
|
15
|
+
devLoginHref: string;
|
|
16
|
+
error?: string;
|
|
17
|
+
providers: HostedAuthLoginProviderView[];
|
|
18
|
+
redirectURI: string;
|
|
19
|
+
}
|
|
20
|
+
export interface HostedAuthLoginPageProps {
|
|
21
|
+
config: HostedAuthLoginPageConfig;
|
|
22
|
+
model: HostedAuthLoginPageModel;
|
|
23
|
+
}
|
|
24
|
+
export type HostedAuthLoginPageComponent = ((props: HostedAuthLoginPageProps) => string) & {
|
|
25
|
+
defaultConfig?: HostedAuthLoginPageConfig;
|
|
26
|
+
};
|
|
2
27
|
export interface HostedAuthApplication {
|
|
3
28
|
allowedRedirectURIs?: string[];
|
|
4
29
|
appearance?: HostedAuthAppearance;
|
|
5
30
|
clientId: string;
|
|
31
|
+
loginPage?: HostedAuthLoginPageConfig;
|
|
32
|
+
loginPageComponent?: HostedAuthLoginPageComponent;
|
|
6
33
|
name?: string;
|
|
7
34
|
redirectURI?: string;
|
|
8
35
|
}
|
|
9
36
|
export interface HostedAuthAppearance {
|
|
10
37
|
backgroundImageUrl?: string;
|
|
11
38
|
}
|
|
39
|
+
export interface HostedAuthLoginPageConfig {
|
|
40
|
+
backgroundImageUrl?: string;
|
|
41
|
+
brandLabel?: string;
|
|
42
|
+
brandName?: string;
|
|
43
|
+
devLoginLabel?: string;
|
|
44
|
+
footerText?: string;
|
|
45
|
+
heroDescription?: string;
|
|
46
|
+
heroKicker?: string;
|
|
47
|
+
heroTitle?: string;
|
|
48
|
+
logoUrl?: string;
|
|
49
|
+
panelDescription?: string;
|
|
50
|
+
panelKicker?: string;
|
|
51
|
+
panelTitle?: string;
|
|
52
|
+
primaryProvider?: HostedAuthLoginProviderId;
|
|
53
|
+
providers?: HostedAuthLoginProviderId[];
|
|
54
|
+
statusText?: string;
|
|
55
|
+
}
|
|
12
56
|
export interface HostedFeishuConfig {
|
|
13
57
|
appId?: string;
|
|
14
58
|
appSecret?: string;
|
|
@@ -36,6 +80,8 @@ export interface HostedAuthServiceOptions {
|
|
|
36
80
|
feishu?: HostedFeishuConfig;
|
|
37
81
|
github?: HostedGitHubConfig;
|
|
38
82
|
google?: HostedGoogleConfig;
|
|
83
|
+
loginPage?: HostedAuthLoginPageConfig;
|
|
84
|
+
loginPageComponent?: HostedAuthLoginPageComponent;
|
|
39
85
|
sessionSecret: string;
|
|
40
86
|
store?: HostedAuthStore;
|
|
41
87
|
}
|
|
@@ -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,WAAW,qBAAqB;IACpC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;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,wBAAwB;IACvC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACvC,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,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,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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"}
|
|
@@ -2,7 +2,7 @@ import { existsSync, readFileSync } from "node:fs";
|
|
|
2
2
|
import { resolve } from "node:path";
|
|
3
3
|
import { config as loadEnv, parse as parseEnv } from "dotenv";
|
|
4
4
|
import { createHostedAuthNodeServer } from "./hosted-service-node.js";
|
|
5
|
-
import { createFileAuthStore } from "./index.js";
|
|
5
|
+
import { createFileAuthStore, createHostedAuthLoginPageComponent } from "./index.js";
|
|
6
6
|
const FEISHU_ENV_KEYS = ["FEISHU_APP_ID", "FEISHU_APP_SECRET", "FEISHU_REDIRECT_URI"];
|
|
7
7
|
loadEnv({ path: ".env.local", quiet: true });
|
|
8
8
|
loadEnv({ quiet: true });
|
|
@@ -10,6 +10,9 @@ loadLegacyFeishuEnv();
|
|
|
10
10
|
function readEnv(name, fallback = "") {
|
|
11
11
|
return process.env[name]?.trim() || fallback;
|
|
12
12
|
}
|
|
13
|
+
function readOptionalEnv(name) {
|
|
14
|
+
return readEnv(name) || undefined;
|
|
15
|
+
}
|
|
13
16
|
const port = Number(readEnv("AUTH_SERVICE_PORT", readEnv("PORT", "3005")));
|
|
14
17
|
const authBaseURL = readEnv("AUTH_SERVICE_URL", `http://localhost:${port}`);
|
|
15
18
|
const clientId = readEnv("AUTH_CLIENT_ID", "ai-pm");
|
|
@@ -56,9 +59,6 @@ const server = createHostedAuthNodeServer({
|
|
|
56
59
|
applications: [
|
|
57
60
|
{
|
|
58
61
|
allowedRedirectURIs: [redirectURI],
|
|
59
|
-
appearance: {
|
|
60
|
-
backgroundImageUrl: readEnv("AUTH_LOGIN_BACKGROUND_URL") || undefined,
|
|
61
|
-
},
|
|
62
62
|
clientId,
|
|
63
63
|
name: readEnv("AUTH_CLIENT_NAME", "AI PM"),
|
|
64
64
|
redirectURI,
|
|
@@ -81,6 +81,17 @@ const server = createHostedAuthNodeServer({
|
|
|
81
81
|
clientSecret: readEnv("GITHUB_CLIENT_SECRET") || undefined,
|
|
82
82
|
redirectURI: readEnv("GITHUB_REDIRECT_URI") || undefined,
|
|
83
83
|
},
|
|
84
|
+
loginPageComponent: createHostedAuthLoginPageComponent({
|
|
85
|
+
backgroundImageUrl: readOptionalEnv("AUTH_LOGIN_BACKGROUND_URL"),
|
|
86
|
+
brandLabel: readOptionalEnv("AUTH_LOGIN_BRAND_LABEL"),
|
|
87
|
+
brandName: readOptionalEnv("AUTH_LOGIN_BRAND_NAME"),
|
|
88
|
+
heroDescription: readOptionalEnv("AUTH_LOGIN_HERO_DESCRIPTION"),
|
|
89
|
+
heroTitle: readOptionalEnv("AUTH_LOGIN_HERO_TITLE"),
|
|
90
|
+
logoUrl: readOptionalEnv("AUTH_LOGIN_LOGO_URL"),
|
|
91
|
+
panelDescription: readOptionalEnv("AUTH_LOGIN_PANEL_DESCRIPTION"),
|
|
92
|
+
panelTitle: readOptionalEnv("AUTH_LOGIN_PANEL_TITLE"),
|
|
93
|
+
statusText: readOptionalEnv("AUTH_LOGIN_STATUS_TEXT"),
|
|
94
|
+
}),
|
|
84
95
|
sessionSecret,
|
|
85
96
|
store: await createAuthStore(),
|
|
86
97
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hosted-service-cli.js","sourceRoot":"","sources":["../src/hosted-service-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"hosted-service-cli.js","sourceRoot":"","sources":["../src/hosted-service-cli.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export { AUTH_SERVICE_SESSION_COOKIE, AUTH_SERVICE_STATE_COOKIE } from "./hosted-service/constants.js";
|
|
2
|
-
export { renderLoginPage as renderHostedAuthLoginPage } from "./hosted-service/login-page/index.js";
|
|
2
|
+
export { createHostedAuthLoginPageComponent, defaultHostedAuthLoginPageComponent, renderLoginPage as renderHostedAuthLoginPage, } from "./hosted-service/login-page/index.js";
|
|
3
3
|
export type { RenderLoginPageParams } from "./hosted-service/login-page/types.js";
|
|
4
4
|
export { createHostedAuthRouteHandlers, handleHostedAuthRequest } from "./hosted-service/routes.js";
|
|
5
5
|
export type { HostedAuthRouteHandler, HostedAuthRouteHandlers } from "./hosted-service/routes.js";
|
|
6
6
|
export { createHostedAuthService } from "./hosted-service/service.js";
|
|
7
7
|
export { createFileAuthStore, createMemoryAuthStore } from "./hosted-service/store/index.js";
|
|
8
|
-
export type { HostedAuthApplication, HostedAuthServiceOptions, HostedFeishuConfig, HostedGitHubConfig, HostedGoogleConfig, } from "./hosted-service/types.js";
|
|
8
|
+
export type { HostedAuthAppearance, HostedAuthApplication, HostedAuthLoginPageComponent, HostedAuthLoginPageConfig, HostedAuthLoginPageModel, HostedAuthLoginPageProps, HostedAuthLoginProviderView, HostedAuthLoginProviderId, HostedAuthServiceOptions, HostedFeishuConfig, HostedGitHubConfig, HostedGoogleConfig, } from "./hosted-service/types.js";
|
|
9
9
|
export type { CreateFileAuthStoreOptions, CreateHostedAuthSessionInput, CreateMemoryAuthStoreOptions, HostedAuthAccountRecord, HostedAuthProviderId, HostedAuthSessionContext, HostedAuthSessionRecord, HostedAuthStore, HostedAuthStoreState, HostedAuthUserRecord, } from "./hosted-service/store/index.js";
|
|
10
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AACvG,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AACvG,OAAO,EACL,kCAAkC,EAClC,mCAAmC,EACnC,eAAe,IAAI,yBAAyB,GAC7C,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,6BAA6B,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACpG,YAAY,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAClG,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAC7F,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,4BAA4B,EAC5B,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,0BAA0B,EAC1B,4BAA4B,EAC5B,4BAA4B,EAC5B,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,EACf,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,iCAAiC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { AUTH_SERVICE_SESSION_COOKIE, AUTH_SERVICE_STATE_COOKIE } from "./hosted-service/constants.js";
|
|
2
|
-
export { renderLoginPage as renderHostedAuthLoginPage } from "./hosted-service/login-page/index.js";
|
|
2
|
+
export { createHostedAuthLoginPageComponent, defaultHostedAuthLoginPageComponent, renderLoginPage as renderHostedAuthLoginPage, } from "./hosted-service/login-page/index.js";
|
|
3
3
|
export { createHostedAuthRouteHandlers, handleHostedAuthRequest } from "./hosted-service/routes.js";
|
|
4
4
|
export { createHostedAuthService } from "./hosted-service/service.js";
|
|
5
5
|
export { createFileAuthStore, createMemoryAuthStore } from "./hosted-service/store/index.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AACvG,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AACvG,OAAO,EACL,kCAAkC,EAClC,mCAAmC,EACnC,eAAe,IAAI,yBAAyB,GAC7C,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,6BAA6B,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAEpG,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC"}
|