Integrate Plugin Center myCloudogu Authentication (#1884)

Allows scm-manager instances to authenticate with the configured plugin center. If the default plugin center is used, a myCloudogu account is used for authentication which in turn enables downloading special myCloudogu plugins directly through the plugin administration page.

Co-authored-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
Co-authored-by: Matthias Thieroff <93515444+mthieroff@users.noreply.github.com>
Co-authored-by: Philipp Ahrendt <philipp.ahrendt@cloudogu.com>
This commit is contained in:
Sebastian Sdorra
2021-12-13 15:15:57 +01:00
committed by GitHub
parent c95888d491
commit 6eba01161f
84 changed files with 3147 additions and 289 deletions

View File

@@ -41,7 +41,6 @@ type Props = {
dateFormat: string;
anonymousMode: AnonymousMode;
skipFailedAuthenticators: boolean;
pluginUrl: string;
releaseFeedUrl: string;
mailDomainName: string;
enabledXsrfProtection: boolean;
@@ -58,7 +57,6 @@ const GeneralSettings: FC<Props> = ({
realmDescription,
loginInfoUrl,
anonymousMode,
pluginUrl,
releaseFeedUrl,
mailDomainName,
enabledXsrfProtection,
@@ -91,9 +89,6 @@ const GeneralSettings: FC<Props> = ({
const handleNamespaceStrategyChange = (value: string) => {
onChange(true, value, "namespaceStrategy");
};
const handlePluginCenterUrlChange = (value: string) => {
onChange(true, value, "pluginUrl");
};
const handleReleaseFeedUrlChange = (value: string) => {
onChange(true, value, "releaseFeedUrl");
};
@@ -163,21 +158,13 @@ const GeneralSettings: FC<Props> = ({
</div>
</div>
<div className="columns">
<div className="column is-half">
<InputField
label={t("general-settings.plugin-url")}
onChange={handlePluginCenterUrlChange}
value={pluginUrl}
disabled={!hasUpdatePermission}
helpText={t("help.pluginUrlHelpText")}
/>
</div>
<div className="column is-half">
<Select
label={t("general-settings.anonymousMode.title")}
onChange={handleAnonymousMode}
value={anonymousMode}
disabled={!hasUpdatePermission}
className="is-fullwidth"
options={[
{ label: t("general-settings.anonymousMode.full"), value: "FULL" },
{ label: t("general-settings.anonymousMode.protocolOnly"), value: "PROTOCOL_ONLY" },
@@ -187,17 +174,6 @@ const GeneralSettings: FC<Props> = ({
testId={"anonymous-mode-select"}
/>
</div>
</div>
<div className="columns">
<div className="column is-half">
<InputField
label={t("general-settings.release-feed-url")}
onChange={handleReleaseFeedUrlChange}
value={releaseFeedUrl}
disabled={!hasUpdatePermission}
helpText={t("help.releaseFeedUrlHelpText")}
/>
</div>
<div className="column is-half">
<Checkbox
label={t("general-settings.enabled-user-converter")}
@@ -230,6 +206,17 @@ const GeneralSettings: FC<Props> = ({
/>
</div>
</div>
<div className="columns">
<div className="column">
<InputField
label={t("general-settings.release-feed-url")}
onChange={handleReleaseFeedUrlChange}
value={releaseFeedUrl}
disabled={!hasUpdatePermission}
helpText={t("help.releaseFeedUrlHelpText")}
/>
</div>
</div>
<div className="columns">
<div className="column is-full">
<MemberNameTagGroup