mirror of
https://github.com/bitwarden/browser
synced 2025-12-10 05:13:29 +00:00
EC-265 - SCIM configuration page in org admin (#3065)
* EC-265 - Initial stubs for SCIM config UI * EC-265 - Scim config screen and plumbing * EC-265 - Scim config component works! Needs cleanup * EC-265 - Finalize scim config screen * EC-265 - Remove scim url from storage and env urls * EC-265 - Refactor to use new component library * EC-265 - Angular warnings on disabled attr resolved * EC-265 - Continued transition to new components * EC-265 - Page loading spinner pattern * EC-265 - final SCIM configuration form changes * scim cleanup * use scim urls * suggested changes * feedback fixes * remove return * Move scimUrl logic to EnvironmentService * Refactor scim url handling Co-authored-by: Kyle Spearrin <kyle.spearrin@gmail.com> Co-authored-by: Thomas Rittson <trittson@bitwarden.com>
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
{
|
||||
"urls": {
|
||||
"icons": "https://icons.bitwarden.net",
|
||||
"notifications": "https://notifications.bitwarden.com"
|
||||
"notifications": "https://notifications.bitwarden.com",
|
||||
"scim": "https://scim.bitwarden.com"
|
||||
},
|
||||
"stripeKey": "pk_live_bpN0P37nMxrMQkcaHXtAybJk",
|
||||
"braintreeKey": "production_qfbsv8kc_njj2zjtyngtjmbjd",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"urls": {
|
||||
"notifications": "http://localhost:61840"
|
||||
"notifications": "http://localhost:61840",
|
||||
"scim": "http://localhost:44559"
|
||||
},
|
||||
"dev": {
|
||||
"proxyApi": "http://localhost:4000",
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
{
|
||||
"urls": {
|
||||
"icons": "https://icons.qa.bitwarden.pw",
|
||||
"notifications": "https://notifications.qa.bitwarden.pw"
|
||||
"notifications": "https://notifications.qa.bitwarden.pw",
|
||||
"scim": "https://scim.qa.bitwarden.pw"
|
||||
},
|
||||
"dev": {
|
||||
"proxyApi": "https://api.qa.bitwarden.pw",
|
||||
|
||||
@@ -86,6 +86,9 @@ export class OrganizationLayoutComponent implements OnInit, OnDestroy {
|
||||
case this.organization.canManageSso:
|
||||
route = "manage/sso";
|
||||
break;
|
||||
case this.organization.canManageScim:
|
||||
route = "manage/scim";
|
||||
break;
|
||||
case this.organization.canAccessEventLogs:
|
||||
route = "manage/events";
|
||||
break;
|
||||
|
||||
@@ -44,6 +44,14 @@
|
||||
>
|
||||
{{ "singleSignOn" | i18n }}
|
||||
</a>
|
||||
<a
|
||||
routerLink="scim"
|
||||
class="list-group-item"
|
||||
routerLinkActive="active"
|
||||
*ngIf="organization.canManageScim && accessScim"
|
||||
>
|
||||
{{ "scim" | i18n }}
|
||||
</a>
|
||||
<a
|
||||
routerLink="events"
|
||||
class="list-group-item"
|
||||
|
||||
@@ -14,6 +14,7 @@ export class ManageComponent implements OnInit {
|
||||
accessGroups = false;
|
||||
accessEvents = false;
|
||||
accessSso = false;
|
||||
accessScim = false;
|
||||
|
||||
constructor(private route: ActivatedRoute, private organizationService: OrganizationService) {}
|
||||
|
||||
@@ -24,6 +25,7 @@ export class ManageComponent implements OnInit {
|
||||
this.accessSso = this.organization.useSso;
|
||||
this.accessEvents = this.organization.useEvents;
|
||||
this.accessGroups = this.organization.useGroups;
|
||||
this.accessScim = this.organization.useScim;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ const permissions = {
|
||||
Permissions.ManageUsers,
|
||||
Permissions.ManagePolicies,
|
||||
Permissions.ManageSso,
|
||||
Permissions.ManageScim,
|
||||
],
|
||||
tools: [Permissions.AccessImportExport, Permissions.AccessReports],
|
||||
settings: [Permissions.ManageOrganization],
|
||||
|
||||
@@ -5184,6 +5184,60 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"scim": {
|
||||
"message": "SCIM Provisioning",
|
||||
"description": "The text, 'SCIM', is an acronymn and should not be translated."
|
||||
},
|
||||
"scimDescription": {
|
||||
"message": "Automatically provision users and groups with your preferred identity provider via SCIM provisioning",
|
||||
"description": "the text, 'SCIM', is an acronymn and should not be translated."
|
||||
},
|
||||
"scimEnabledCheckboxDesc": {
|
||||
"message": "Enable SCIM",
|
||||
"description": "the text, 'SCIM', is an acronymn and should not be translated."
|
||||
},
|
||||
"scimEnabledCheckboxDescHelpText": {
|
||||
"message": "Set up your preferred identity provider by configuring the URL and SCIM API Key",
|
||||
"description": "the text, 'SCIM', is an acronymn and should not be translated."
|
||||
},
|
||||
"scimApiKeyHelperText": {
|
||||
"message": "This API key has access to manage users within your organization. It should be kept secret."
|
||||
},
|
||||
"copyScimKey": {
|
||||
"message": "Copy the SCIM API Key to your clipboard",
|
||||
"description": "the text, 'SCIM' and 'API', are acronymns and should not be translated."
|
||||
},
|
||||
"rotateScimKey": {
|
||||
"message": "Rotate the SCIM API Key",
|
||||
"description": "the text, 'SCIM' and 'API', are acronymns and should not be translated."
|
||||
},
|
||||
"rotateScimKeyWarning": {
|
||||
"message": "Are you sure you want to rotate the SCIM API Key? The current key will no longer work for any existing integrations.",
|
||||
"description": "the text, 'SCIM' and 'API', are acronymns and should not be translated."
|
||||
},
|
||||
"rotateKey": {
|
||||
"message": "Rotate Key"
|
||||
},
|
||||
"scimApiKey": {
|
||||
"message": "SCIM API Key",
|
||||
"description": "the text, 'SCIM' and 'API', are acronymns and should not be translated."
|
||||
},
|
||||
"copyScimUrl": {
|
||||
"message": "Copy the SCIM endpoint URL to your clipboard",
|
||||
"description": "the text, 'SCIM' and 'URL', are acronymns and should not be translated."
|
||||
},
|
||||
"scimUrl": {
|
||||
"message": "SCIM URL",
|
||||
"description": "the text, 'SCIM' and 'URL', are acronymns and should not be translated."
|
||||
},
|
||||
"scimApiKeyRotated": {
|
||||
"message": "The SCIM API Key has been successfully rotated",
|
||||
"description": "the text, 'SCIM' and 'API', are acronymns and should not be translated."
|
||||
},
|
||||
"scimSettingsSaved": {
|
||||
"message": "SCIM settings have been saved successfully",
|
||||
"description": "the text, 'SCIM', is an acronymn and should not be translated."
|
||||
},
|
||||
"inputRequired": {
|
||||
"message": "Input is required."
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user