mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-10-10 08:16:25 +00:00
Fix UI :- fix the Password field showing in SSO login (#7811)
* Fix the Password field showing in SSO login * changes as per comments
This commit is contained in:
parent
986ce4a8b8
commit
c4d67f489e
@ -26,7 +26,7 @@ import { AxiosError } from 'axios';
|
|||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
import { isUndefined } from 'lodash';
|
import { isUndefined } from 'lodash';
|
||||||
import { EditorContentRef } from 'Models';
|
import { EditorContentRef } from 'Models';
|
||||||
import React, { useRef, useState } from 'react';
|
import React, { useMemo, useRef, useState } from 'react';
|
||||||
import { useAuthContext } from '../../authentication/auth-provider/AuthProvider';
|
import { useAuthContext } from '../../authentication/auth-provider/AuthProvider';
|
||||||
import { generateRandomPwd } from '../../axiosAPIs/auth-API';
|
import { generateRandomPwd } from '../../axiosAPIs/auth-API';
|
||||||
import { getBotsPagePath, getUsersPagePath } from '../../constants/constants';
|
import { getBotsPagePath, getUsersPagePath } from '../../constants/constants';
|
||||||
@ -36,6 +36,7 @@ import {
|
|||||||
validEmailRegEx,
|
validEmailRegEx,
|
||||||
} from '../../constants/regex.constants';
|
} from '../../constants/regex.constants';
|
||||||
import { PageLayoutType } from '../../enums/layout.enum';
|
import { PageLayoutType } from '../../enums/layout.enum';
|
||||||
|
import { AuthTypes } from '../../enums/signin.enum';
|
||||||
import { CreatePasswordGenerator } from '../../enums/user.enum';
|
import { CreatePasswordGenerator } from '../../enums/user.enum';
|
||||||
import {
|
import {
|
||||||
CreatePasswordType,
|
CreatePasswordType,
|
||||||
@ -109,6 +110,11 @@ const CreateUser = ({
|
|||||||
{} as SSOClientConfig
|
{} as SSOClientConfig
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const isAuthProviderBasic = useMemo(
|
||||||
|
() => authConfig?.provider === AuthTypes.BASIC,
|
||||||
|
[authConfig]
|
||||||
|
);
|
||||||
|
|
||||||
const slashedBreadcrumbList = [
|
const slashedBreadcrumbList = [
|
||||||
{
|
{
|
||||||
name: forceBot ? 'Bots' : 'Users',
|
name: forceBot ? 'Bots' : 'Users',
|
||||||
@ -775,101 +781,107 @@ const CreateUser = ({
|
|||||||
<RichTextEditor initialValue={description} ref={markdownRef} />
|
<RichTextEditor initialValue={description} ref={markdownRef} />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
|
|
||||||
<Radio.Group
|
{isAuthProviderBasic && (
|
||||||
name="passwordGenerator"
|
<>
|
||||||
value={passwordGenerator}
|
<Radio.Group
|
||||||
onChange={handleOnChange}>
|
name="passwordGenerator"
|
||||||
<Radio value={CreatePasswordGenerator.AutomatciGenerate}>
|
value={passwordGenerator}
|
||||||
Automatic Generate
|
onChange={handleOnChange}>
|
||||||
</Radio>
|
<Radio value={CreatePasswordGenerator.AutomatciGenerate}>
|
||||||
<Radio value={CreatePasswordGenerator.CreatePassword}>
|
Automatic Generate
|
||||||
Create Password
|
</Radio>
|
||||||
</Radio>
|
<Radio value={CreatePasswordGenerator.CreatePassword}>
|
||||||
</Radio.Group>
|
Create Password
|
||||||
|
</Radio>
|
||||||
|
</Radio.Group>
|
||||||
|
|
||||||
{passwordGenerator === CreatePasswordGenerator.CreatePassword ? (
|
{passwordGenerator === CreatePasswordGenerator.CreatePassword ? (
|
||||||
<div className="m-t-sm">
|
<div className="m-t-sm">
|
||||||
<Form.Item
|
<Form.Item
|
||||||
label="Password"
|
label="Password"
|
||||||
name="password"
|
name="password"
|
||||||
rules={[
|
rules={[
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
pattern: passwordRegex,
|
pattern: passwordRegex,
|
||||||
message: passwordErrorMessage,
|
message: passwordErrorMessage,
|
||||||
},
|
},
|
||||||
]}>
|
]}>
|
||||||
<Input.Password
|
<Input.Password
|
||||||
name="password"
|
name="password"
|
||||||
placeholder="Enter a Password"
|
placeholder="Enter a Password"
|
||||||
value={password}
|
value={password}
|
||||||
onChange={handleOnChange}
|
onChange={handleOnChange}
|
||||||
/>
|
/>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
|
|
||||||
<Form.Item
|
<Form.Item
|
||||||
label="Confirm Password"
|
label="Confirm Password"
|
||||||
name="confirmPassword"
|
name="confirmPassword"
|
||||||
rules={[
|
rules={[
|
||||||
{
|
{
|
||||||
validator: (_, value) => {
|
validator: (_, value) => {
|
||||||
if (value !== password) {
|
if (value !== password) {
|
||||||
return Promise.reject("Password doesn't match");
|
return Promise.reject("Password doesn't match");
|
||||||
|
}
|
||||||
|
|
||||||
|
return Promise.resolve();
|
||||||
|
},
|
||||||
|
},
|
||||||
|
]}>
|
||||||
|
<Input.Password
|
||||||
|
name="confirmPassword"
|
||||||
|
placeholder="Confirm Password"
|
||||||
|
value={confirmPassword}
|
||||||
|
onChange={handleOnChange}
|
||||||
|
/>
|
||||||
|
</Form.Item>
|
||||||
|
</div>
|
||||||
|
) : (
|
||||||
|
<div className="m-t-sm">
|
||||||
|
<Form.Item
|
||||||
|
label="Generated Password"
|
||||||
|
name="generatedPassword"
|
||||||
|
rules={[
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
]}>
|
||||||
|
<Input
|
||||||
|
readOnly
|
||||||
|
addonAfter={
|
||||||
|
<div className="flex-center w-16">
|
||||||
|
<div
|
||||||
|
className="w-8 h-7 flex-center cursor-pointer"
|
||||||
|
data-testid="password-generator"
|
||||||
|
onClick={generateRandomPassword}>
|
||||||
|
{isPasswordGenerating ? (
|
||||||
|
<Loader size="small" type="default" />
|
||||||
|
) : (
|
||||||
|
<SVGIcons
|
||||||
|
alt="generate"
|
||||||
|
icon={Icons.SYNC}
|
||||||
|
width="16"
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="w-8 h-7 flex-center">
|
||||||
|
<CopyToClipboardButton
|
||||||
|
copyText={generatedPassword}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
}
|
}
|
||||||
|
name="generatedPassword"
|
||||||
return Promise.resolve();
|
value={generatedPassword}
|
||||||
},
|
/>
|
||||||
},
|
</Form.Item>
|
||||||
]}>
|
</div>
|
||||||
<Input.Password
|
)}
|
||||||
name="confirmPassword"
|
</>
|
||||||
placeholder="Confirm Password"
|
|
||||||
value={confirmPassword}
|
|
||||||
onChange={handleOnChange}
|
|
||||||
/>
|
|
||||||
</Form.Item>
|
|
||||||
</div>
|
|
||||||
) : (
|
|
||||||
<div className="m-t-sm">
|
|
||||||
<Form.Item
|
|
||||||
label="Generated Password"
|
|
||||||
name="generatedPassword"
|
|
||||||
rules={[
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
},
|
|
||||||
]}>
|
|
||||||
<Input
|
|
||||||
readOnly
|
|
||||||
addonAfter={
|
|
||||||
<div className="flex-center w-16">
|
|
||||||
<div
|
|
||||||
className="w-8 h-7 flex-center cursor-pointer"
|
|
||||||
data-testid="password-generator"
|
|
||||||
onClick={generateRandomPassword}>
|
|
||||||
{isPasswordGenerating ? (
|
|
||||||
<Loader size="small" type="default" />
|
|
||||||
) : (
|
|
||||||
<SVGIcons
|
|
||||||
alt="generate"
|
|
||||||
icon={Icons.SYNC}
|
|
||||||
width="16"
|
|
||||||
/>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="w-8 h-7 flex-center">
|
|
||||||
<CopyToClipboardButton copyText={generatedPassword} />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
}
|
|
||||||
name="generatedPassword"
|
|
||||||
value={generatedPassword}
|
|
||||||
/>
|
|
||||||
</Form.Item>
|
|
||||||
</div>
|
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{!forceBot && (
|
{!forceBot && (
|
||||||
|
Loading…
x
Reference in New Issue
Block a user