Browse Source

feat(vben5): add oauth `prompt` config

pull/1470/head
colin 1 month ago
parent
commit
720fd046a5
  1. 11
      apps/vben5/apps/app-antd/.env.development
  2. 1
      apps/vben5/packages/@abp/account/src/utils/auth.ts
  3. 2
      apps/vben5/packages/effects/hooks/src/use-app-config.ts
  4. 2
      apps/vben5/packages/types/global.d.ts

11
apps/vben5/apps/app-antd/.env.development

@ -16,12 +16,19 @@ VITE_DEVTOOLS=false
VITE_INJECT_APP_LOADING=true
# 是否仅允许OIDC登录
VITE_GLOB_AUTH_ONLY_OIDC=false
VITE_GLOB_AUTH_ONLY_OIDC=true
# 认证服务器
VITE_GLOB_AUTH_AUTHORITY="http://localhost:44385"
VITE_GLOB_AUTH_AUTHORITY="http://localhost:30000"
# 授权范围
VITE_GLOB_AUTH_AUDIENCE="openid email address phone profile offline_access lingyun-abp-application"
# 客户端Id
VITE_GLOB_AUTH_CLIENT_ID=vue-admin-client
# 客户端密钥【生产环境请勿设置此值,建议启用仅允许OIDC登录,将使用授权码类型登录】
VITE_GLOB_AUTH_CLIENT_SECRET=1q2w3e*
# 可选值: login、consent、select_account
# 取消注释登录时在多租户选择账户
# VITE_GLOB_AUTH_PROMPT=select_account
# 取消注释登录时强制用户在该请求上输入凭据,使单一登录无效
# VITE_GLOB_AUTH_PROMPT=login
# 取消注释登录时始终要求用户授权
# VITE_GLOB_AUTH_PROMPT=consent

1
apps/vben5/packages/@abp/account/src/utils/auth.ts

@ -156,6 +156,7 @@ const oidcSettings: UserManagerSettings = {
silent_redirect_uri: `${window.location.origin}/silent-renew.html`,
automaticSilentRenew: true,
loadUserInfo: true,
prompt: auth.prompt,
userStore: new WebStorageStateStore({
store: import.meta.env.DEV
? localStorage

2
apps/vben5/packages/effects/hooks/src/use-app-config.ts

@ -24,6 +24,7 @@ export function useAppConfig(
VITE_GLOB_AUTH_ONLY_OIDC,
VITE_GLOB_AUTH_ONLY_OIDC_HINT,
VITE_GLOB_AUTH_DISABLE_PKCE,
VITE_GLOB_AUTH_PROMPT,
VITE_GLOB_AUTH_DINGDING_CORP_ID,
VITE_GLOB_AUTH_DINGDING_CLIENT_ID,
VITE_GLOB_UI_FRAMEWORK,
@ -38,6 +39,7 @@ export function useAppConfig(
audience: VITE_GLOB_AUTH_AUDIENCE,
onlyOidc: VITE_GLOB_AUTH_ONLY_OIDC === 'true',
onlyOidcHint: VITE_GLOB_AUTH_ONLY_OIDC_HINT === 'true',
prompt: VITE_GLOB_AUTH_PROMPT,
disablePKCE: VITE_GLOB_AUTH_DISABLE_PKCE === 'true',
},
uiFramework: VITE_GLOB_UI_FRAMEWORK,

2
apps/vben5/packages/types/global.d.ts

@ -15,6 +15,7 @@ export interface VbenAdminProAppConfigRaw {
VITE_GLOB_AUTH_AUDIENCE?: string;
VITE_GLOB_AUTH_ONLY_OIDC?: string;
VITE_GLOB_AUTH_ONLY_OIDC_HINT?: string;
VITE_GLOB_AUTH_PROMPT?: string;
VITE_GLOB_AUTH_DISABLE_PKCE?: string;
VITE_GLOB_AUTH_DINGDING_CLIENT_ID: string;
VITE_GLOB_AUTH_DINGDING_CORP_ID: string;
@ -32,6 +33,7 @@ interface AuthConfig {
clientSecret: string;
onlyOidc?: boolean;
onlyOidcHint?: boolean;
prompt?: string;
disablePKCE?: boolean;
}

Loading…
Cancel
Save