Merge pull request #16 from yumusb/feat/hide-login-form
feat: Add `passwordEnabled` configuration to conditionally display th…
This commit is contained in:
3 files changed
+8
-2
No files matched your search
@@ -169,6 +169,7 @@ func (s *AccountService) ValidateToken(tokenString string) (*JWTClaims, error) {
|
||||
type AuthConfig struct {
|
||||
OIDCEnabled bool `json:"oidcEnabled"`
|
||||
GitHubEnabled bool `json:"githubEnabled"`
|
||||
PasswordEnabled bool `json:"passwordEnabled"`
|
||||
}
|
||||
|
||||
// GetAuthConfig 获取认证配置
|
||||
@@ -176,6 +177,7 @@ func (s *AccountService) GetAuthConfig() *AuthConfig {
|
||||
return &AuthConfig{
|
||||
OIDCEnabled: s.oidcService.IsEnabled(),
|
||||
GitHubEnabled: s.githubService.IsEnabled(),
|
||||
PasswordEnabled: s.userService.IsEnabled(),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ import type { LoginRequest, LoginResponse } from '../types';
|
||||
export interface AuthConfig {
|
||||
oidcEnabled: boolean;
|
||||
githubEnabled: boolean;
|
||||
passwordEnabled: boolean;
|
||||
}
|
||||
|
||||
// OIDC 认证 URL
|
||||
|
||||
@@ -9,6 +9,7 @@ const Login = () => {
|
||||
const [loading, setLoading] = useState(false);
|
||||
const [oidcEnabled, setOidcEnabled] = useState(false);
|
||||
const [githubEnabled, setGithubEnabled] = useState(false);
|
||||
const [passwordEnabled, setPasswordEnabled] = useState(true);
|
||||
const [oidcLoading, setOidcLoading] = useState(false);
|
||||
const [githubLoading, setGithubLoading] = useState(false);
|
||||
const navigate = useNavigate();
|
||||
@@ -23,6 +24,7 @@ const Login = () => {
|
||||
const response = await getAuthConfig();
|
||||
setOidcEnabled(response.data.oidcEnabled);
|
||||
setGithubEnabled(response.data.githubEnabled);
|
||||
setPasswordEnabled(response.data.passwordEnabled);
|
||||
} catch (error) {
|
||||
console.error('获取认证配置失败:', error);
|
||||
}
|
||||
@@ -83,10 +85,10 @@ const Login = () => {
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{passwordEnabled && (
|
||||
<Form
|
||||
name="login"
|
||||
layout="vertical"
|
||||
|
||||
onFinish={onFinish}
|
||||
autoComplete="off"
|
||||
requiredMark={false} // 4. 隐藏必填星号,界面更干净
|
||||
@@ -127,6 +129,7 @@ const Login = () => {
|
||||
</Button>
|
||||
</Form.Item>
|
||||
</Form>
|
||||
)}
|
||||
|
||||
{/* 5. 第三方登录区域 */}
|
||||
{(oidcEnabled || githubEnabled) && (
|
||||
@@ -136,7 +139,7 @@ const Login = () => {
|
||||
<span className="w-full border-t border-slate-200" />
|
||||
</div>
|
||||
<div className="relative flex justify-center text-xs uppercase">
|
||||
<span className="bg-white px-2 text-slate-400">或者</span>
|
||||
<span className="bg-white px-2 text-slate-400">{passwordEnabled ? '或者' : '使用第三方登录'}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in new issue
Block a user