|
|
|
@ -244,7 +244,7 @@ const CreateIdentityProviderDialog: React.FC<Props> = (props: Props) => {
|
|
|
|
|
<div className="dialog-content-container min-w-[19rem]">
|
|
|
|
|
{isCreating && (
|
|
|
|
|
<>
|
|
|
|
|
<Typography className="!mb-1" level="body2">
|
|
|
|
|
<Typography className="!mb-1" level="body-md">
|
|
|
|
|
{t("common.type")}
|
|
|
|
|
</Typography>
|
|
|
|
|
<Select className="w-full mb-4" value={type} onChange={(_, e) => setType(e ?? type)}>
|
|
|
|
@ -254,7 +254,7 @@ const CreateIdentityProviderDialog: React.FC<Props> = (props: Props) => {
|
|
|
|
|
</Option>
|
|
|
|
|
))}
|
|
|
|
|
</Select>
|
|
|
|
|
<Typography className="mb-2" level="body2">
|
|
|
|
|
<Typography className="mb-2" level="body-md">
|
|
|
|
|
{t("setting.sso-section.template")}
|
|
|
|
|
</Typography>
|
|
|
|
|
<Select className="mb-1 h-auto w-full" value={selectedTemplate} onChange={(_, e) => setSelectedTemplate(e ?? selectedTemplate)}>
|
|
|
|
@ -267,7 +267,7 @@ const CreateIdentityProviderDialog: React.FC<Props> = (props: Props) => {
|
|
|
|
|
<Divider className="!my-2" />
|
|
|
|
|
</>
|
|
|
|
|
)}
|
|
|
|
|
<Typography className="!mb-1" level="body2">
|
|
|
|
|
<Typography className="!mb-1" level="body-md">
|
|
|
|
|
{t("common.name")}
|
|
|
|
|
<span className="text-red-600">*</span>
|
|
|
|
|
</Typography>
|
|
|
|
@ -283,7 +283,7 @@ const CreateIdentityProviderDialog: React.FC<Props> = (props: Props) => {
|
|
|
|
|
}
|
|
|
|
|
fullWidth
|
|
|
|
|
/>
|
|
|
|
|
<Typography className="!mb-1" level="body2">
|
|
|
|
|
<Typography className="!mb-1" level="body-md">
|
|
|
|
|
{t("setting.sso-section.identifier-filter")}
|
|
|
|
|
</Typography>
|
|
|
|
|
<Input
|
|
|
|
@ -306,7 +306,7 @@ const CreateIdentityProviderDialog: React.FC<Props> = (props: Props) => {
|
|
|
|
|
{t("setting.sso-section.redirect-url")}: {absolutifyLink("/auth/callback")}
|
|
|
|
|
</p>
|
|
|
|
|
)}
|
|
|
|
|
<Typography className="!mb-1" level="body2">
|
|
|
|
|
<Typography className="!mb-1" level="body-md">
|
|
|
|
|
{t("setting.sso-section.client-id")}
|
|
|
|
|
<span className="text-red-600">*</span>
|
|
|
|
|
</Typography>
|
|
|
|
@ -317,7 +317,7 @@ const CreateIdentityProviderDialog: React.FC<Props> = (props: Props) => {
|
|
|
|
|
onChange={(e) => setPartialOAuth2Config({ clientId: e.target.value })}
|
|
|
|
|
fullWidth
|
|
|
|
|
/>
|
|
|
|
|
<Typography className="!mb-1" level="body2">
|
|
|
|
|
<Typography className="!mb-1" level="body-md">
|
|
|
|
|
{t("setting.sso-section.client-secret")}
|
|
|
|
|
<span className="text-red-600">*</span>
|
|
|
|
|
</Typography>
|
|
|
|
@ -328,7 +328,7 @@ const CreateIdentityProviderDialog: React.FC<Props> = (props: Props) => {
|
|
|
|
|
onChange={(e) => setPartialOAuth2Config({ clientSecret: e.target.value })}
|
|
|
|
|
fullWidth
|
|
|
|
|
/>
|
|
|
|
|
<Typography className="!mb-1" level="body2">
|
|
|
|
|
<Typography className="!mb-1" level="body-md">
|
|
|
|
|
{t("setting.sso-section.authorization-endpoint")}
|
|
|
|
|
<span className="text-red-600">*</span>
|
|
|
|
|
</Typography>
|
|
|
|
@ -339,7 +339,7 @@ const CreateIdentityProviderDialog: React.FC<Props> = (props: Props) => {
|
|
|
|
|
onChange={(e) => setPartialOAuth2Config({ authUrl: e.target.value })}
|
|
|
|
|
fullWidth
|
|
|
|
|
/>
|
|
|
|
|
<Typography className="!mb-1" level="body2">
|
|
|
|
|
<Typography className="!mb-1" level="body-md">
|
|
|
|
|
{t("setting.sso-section.token-endpoint")}
|
|
|
|
|
<span className="text-red-600">*</span>
|
|
|
|
|
</Typography>
|
|
|
|
@ -350,7 +350,7 @@ const CreateIdentityProviderDialog: React.FC<Props> = (props: Props) => {
|
|
|
|
|
onChange={(e) => setPartialOAuth2Config({ tokenUrl: e.target.value })}
|
|
|
|
|
fullWidth
|
|
|
|
|
/>
|
|
|
|
|
<Typography className="!mb-1" level="body2">
|
|
|
|
|
<Typography className="!mb-1" level="body-md">
|
|
|
|
|
{t("setting.sso-section.user-endpoint")}
|
|
|
|
|
<span className="text-red-600">*</span>
|
|
|
|
|
</Typography>
|
|
|
|
@ -361,7 +361,7 @@ const CreateIdentityProviderDialog: React.FC<Props> = (props: Props) => {
|
|
|
|
|
onChange={(e) => setPartialOAuth2Config({ userInfoUrl: e.target.value })}
|
|
|
|
|
fullWidth
|
|
|
|
|
/>
|
|
|
|
|
<Typography className="!mb-1" level="body2">
|
|
|
|
|
<Typography className="!mb-1" level="body-md">
|
|
|
|
|
{t("setting.sso-section.scopes")}
|
|
|
|
|
<span className="text-red-600">*</span>
|
|
|
|
|
</Typography>
|
|
|
|
@ -373,7 +373,7 @@ const CreateIdentityProviderDialog: React.FC<Props> = (props: Props) => {
|
|
|
|
|
fullWidth
|
|
|
|
|
/>
|
|
|
|
|
<Divider className="!my-2" />
|
|
|
|
|
<Typography className="!mb-1" level="body2">
|
|
|
|
|
<Typography className="!mb-1" level="body-md">
|
|
|
|
|
{t("setting.sso-section.identifier")}
|
|
|
|
|
<span className="text-red-600">*</span>
|
|
|
|
|
</Typography>
|
|
|
|
@ -384,7 +384,7 @@ const CreateIdentityProviderDialog: React.FC<Props> = (props: Props) => {
|
|
|
|
|
onChange={(e) => setPartialOAuth2Config({ fieldMapping: { ...oauth2Config.fieldMapping, identifier: e.target.value } })}
|
|
|
|
|
fullWidth
|
|
|
|
|
/>
|
|
|
|
|
<Typography className="!mb-1" level="body2">
|
|
|
|
|
<Typography className="!mb-1" level="body-md">
|
|
|
|
|
{t("setting.sso-section.display-name")}
|
|
|
|
|
</Typography>
|
|
|
|
|
<Input
|
|
|
|
@ -394,7 +394,7 @@ const CreateIdentityProviderDialog: React.FC<Props> = (props: Props) => {
|
|
|
|
|
onChange={(e) => setPartialOAuth2Config({ fieldMapping: { ...oauth2Config.fieldMapping, displayName: e.target.value } })}
|
|
|
|
|
fullWidth
|
|
|
|
|
/>
|
|
|
|
|
<Typography className="!mb-1" level="body2">
|
|
|
|
|
<Typography className="!mb-1" level="body-md">
|
|
|
|
|
{t("common.email")}
|
|
|
|
|
</Typography>
|
|
|
|
|
<Input
|
|
|
|
|