mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-11 18:07:31 +00:00
feat: label policy (#1708)
* feat: label policy proto extension * feat: label policy and activate event * feat: label policy asset events * feat: label policy asset commands * feat: add storage key * feat: storage key validation * feat: label policy asset tests * feat: label policy query side * feat: avatar * feat: avatar event * feat: human avatar * feat: avatar read side * feat: font on iam label policy * feat: label policy font * feat: possiblity to create bucket on put file * uplaoder * login policy logo * set bucket prefix * feat: avatar upload * feat: avatar upload * feat: use assets on command side * feat: fix human avatar removed event * feat: remove human avatar * feat: mock asset storage * feat: remove human avatar * fix(operator): add configuration of asset storage to zitadel operator * feat(console): private labeling policy (#1697) * private labeling component, routing, preview * font, colors, upload, i18n * show logo * fix: uniqueness (#1710) * fix: uniqueconstraint to lower * feat: change org * feat: org change test * feat: change org * fix: tests * fix: handle domain claims correctly * feat: update org Co-authored-by: fabi <fabienne.gerschwiler@gmail.com> * fix: handle domain claimed event correctly for service users (#1711) * fix: handle domain claimed event correctly on user view * fix: ignore domain claimed events for email notifications * fix: change org * handle org changed in read models correctly * fix: change org in user grant handler Co-authored-by: fabi <fabienne.gerschwiler@gmail.com> * fix: correct value (#1695) * docs(api): correct link (#1712) * upload service Co-authored-by: Livio Amstutz <livio.a@gmail.com> Co-authored-by: fabi <fabienne.gerschwiler@gmail.com> Co-authored-by: Florian Forster <florian@caos.ch> * feat: fix tests, * feat: remove assets from label policy * fix npm, set environment * lint ts * remove stylelinting * fix(operator): add mapping for console with changed unit tests * fix(operator): add secrets as env variables to pod * feat: remove human avatar * fix(operator): add secrets as env variables to pod * feat: map label policy * feat: labelpolicy, admin, mgmt, adv settings (#1715) * fetch label policy, mgmt, admin service * feat: advanced beh, links, add, update * lint ts * feat: watermark * feat: remove human avatar * feat: remove human avatar * feat: remove human avatar * feat: remove human avatar * feat: remove human avatar * feat: remove human avatar * feat: remove human avatar * feat: custom css * css * css * css * css * css * getobject * feat: dynamic handler * feat: varibale css * content info * css overwrite * feat: variablen css * feat: generate css file * feat: dark mode * feat: dark mode * fix logo css * feat: upload logos * dark mode with cookie * feat: handle images in login * avatar css and begin font * feat: avatar * feat: user avatar * caching of static assets in login * add avatar.js to main.html * feat: header dont show logo if no url * feat: label policy colors * feat: mock asset storage * feat: mock asset storage * feat: fix tests * feat: user avatar * feat: header logo * avatar * avatar * make it compatible with go 1.15 * feat: remove unused logos * fix handler * fix: styling error handling * fonts * fix: download func * switch to mux * fix: change upload api to assets * fix build * fix: download avatar * fix: download logos * fix: my avatar * font * fix: remove error msg popup possibility * fix: docs * fix: svalidate colors * rem msg popup from frontend * fix: email with private labeling * fix: tests * fix: email templates * fix: change migration version * fix: fix duplicate imports * fix(console): assets, service url, upload, policy current and preview (#1781) * upload endpoint, layout * fetch current, preview, fix upload * cleanup private labeling * fix linting * begin generated asset handler * generate asset api in dockerfile * features for label policy * features for label policy * features * flag for asset generator * change asset generator flag * fix label policy view in grpc * fix: layout, activate policy (#1786) * theme switcher up on top * change layout * activate policy * feat(console): label policy back color, layout (#1788) * theme switcher up on top * change layout * activate policy * fix overwrite value fc * reset policy, reset service * autosave policy, preview desc, layout impv * layout, i18n * background colors, inject material styles * load images * clean, lint * fix layout * set custom hex * fix content size conversion * remove font format in generated css * fix features for assets * fix(console): label policy colors, image downloads, preview (#1804) * load images * colors, images binding * lint * refresh emitter * lint * propagate font colors * upload error handling * label policy feature check * add blob in csp for console * log * fix: feature edits for label policy, refresh state on upload (#1807) * show error on load image, stop spinner * fix merge * fix migration versions * fix assets * fix csp * fix background color * scss * fix build * lint scss * fix statik for console * fix features check for label policy * cleanup * lint * public links * fix notifications * public links * feat: merge main * feat: fix translation files * fix migration * set api domain * fix logo in email * font face in email * font face in email * validate assets on upload * cleanup * add missing translations * add missing translations Co-authored-by: Livio Amstutz <livio.a@gmail.com> Co-authored-by: Stefan Benz <stefan@caos.ch> Co-authored-by: Max Peintner <max@caos.ch> Co-authored-by: Florian Forster <florian@caos.ch>
This commit is contained in:
@@ -822,6 +822,28 @@ service AdminService {
|
||||
};
|
||||
}
|
||||
|
||||
//Returns the preview label policy defined by the administrators of ZITADEL
|
||||
rpc GetPreviewLabelPolicy(GetPreviewLabelPolicyRequest) returns (GetPreviewLabelPolicyResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/policies/label/_preview";
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "iam.policy.read";
|
||||
};
|
||||
|
||||
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
||||
tags: "label policy";
|
||||
tags: "policy";
|
||||
responses: {
|
||||
key: "200";
|
||||
value: {
|
||||
description: "default label policy";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
//Updates the default label policy of ZITADEL
|
||||
// it impacts all organisations without a customised policy
|
||||
rpc UpdateLabelPolicy(UpdateLabelPolicyRequest) returns (UpdateLabelPolicyResponse) {
|
||||
@@ -846,6 +868,73 @@ service AdminService {
|
||||
};
|
||||
}
|
||||
|
||||
// Activates all changes of the label policy
|
||||
rpc ActivateLabelPolicy(ActivateLabelPolicyRequest) returns (ActivateLabelPolicyResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/policies/label/_activate"
|
||||
body: "*"
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "policy.write"
|
||||
};
|
||||
}
|
||||
|
||||
// Removes the logo of the label policy
|
||||
rpc RemoveLabelPolicyLogo(RemoveLabelPolicyLogoRequest) returns (RemoveLabelPolicyLogoResponse) {
|
||||
option (google.api.http) = {
|
||||
delete: "/policies/label/logo"
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "policy.write"
|
||||
};
|
||||
}
|
||||
|
||||
// Removes the logo dark of the label policy
|
||||
rpc RemoveLabelPolicyLogoDark(RemoveLabelPolicyLogoDarkRequest) returns (RemoveLabelPolicyLogoDarkResponse) {
|
||||
option (google.api.http) = {
|
||||
delete: "/policies/label/logo_dark"
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "policy.write"
|
||||
};
|
||||
}
|
||||
|
||||
// Removes the icon of the label policy
|
||||
rpc RemoveLabelPolicyIcon(RemoveLabelPolicyIconRequest) returns (RemoveLabelPolicyIconResponse) {
|
||||
option (google.api.http) = {
|
||||
delete: "/policies/label/icon"
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "policy.write"
|
||||
};
|
||||
}
|
||||
|
||||
// Removes the logo dark of the label policy
|
||||
rpc RemoveLabelPolicyIconDark(RemoveLabelPolicyIconDarkRequest) returns (RemoveLabelPolicyIconDarkResponse) {
|
||||
option (google.api.http) = {
|
||||
delete: "/policies/label/icon_dark"
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "policy.write"
|
||||
};
|
||||
}
|
||||
|
||||
// Removes the font of the label policy
|
||||
rpc RemoveLabelPolicyFont(RemoveLabelPolicyFontRequest) returns (RemoveLabelPolicyFontResponse) {
|
||||
option (google.api.http) = {
|
||||
delete: "/policies/label/font"
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "policy.write"
|
||||
};
|
||||
}
|
||||
|
||||
//Returns the login policy defined by the administrators of ZITADEL
|
||||
rpc GetLoginPolicy(GetLoginPolicyRequest) returns (GetLoginPolicyResponse) {
|
||||
option (google.api.http) = {
|
||||
@@ -2195,6 +2284,8 @@ message SetDefaultFeaturesRequest {
|
||||
bool label_policy = 12;
|
||||
bool custom_domain = 13;
|
||||
bool login_policy_password_reset = 14;
|
||||
bool label_policy_private_label = 15;
|
||||
bool label_policy_watermark = 16;
|
||||
}
|
||||
|
||||
message SetDefaultFeaturesResponse {
|
||||
@@ -2226,6 +2317,8 @@ message SetOrgFeaturesRequest {
|
||||
bool label_policy = 13;
|
||||
bool custom_domain = 14;
|
||||
bool login_policy_password_reset = 15;
|
||||
bool label_policy_private_label = 16;
|
||||
bool label_policy_watermark = 17;
|
||||
}
|
||||
|
||||
message SetOrgFeaturesResponse {
|
||||
@@ -2354,28 +2447,19 @@ message GetLabelPolicyResponse {
|
||||
zitadel.policy.v1.LabelPolicy policy = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message GetPreviewLabelPolicyRequest {}
|
||||
|
||||
message GetPreviewLabelPolicyResponse {
|
||||
zitadel.policy.v1.LabelPolicy policy = 1;
|
||||
}
|
||||
|
||||
message UpdateLabelPolicyRequest {
|
||||
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = {
|
||||
json_schema: {
|
||||
required: ["primary_color", "secondary_color"]
|
||||
};
|
||||
};
|
||||
|
||||
string primary_color = 1 [
|
||||
(validate.rules).string = {min_len: 1, max_len: 50},
|
||||
(validate.rules).string = {max_len: 50},
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
description: "respresents a color scheme"
|
||||
example: "\"#353535\"";
|
||||
min_length: 1;
|
||||
max_length: 50;
|
||||
}
|
||||
];
|
||||
string secondary_color = 2 [
|
||||
(validate.rules).string = {min_len: 1, max_len: 50},
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
description: "respresents a color scheme";
|
||||
example: "\"#707070\"";
|
||||
min_length: 1;
|
||||
max_length: 50;
|
||||
}
|
||||
];
|
||||
@@ -2384,12 +2468,62 @@ message UpdateLabelPolicyRequest {
|
||||
description: "hides the org suffix on the login form if the scope \"urn:zitadel:iam:org:domain:primary:{domainname}\" is set. Details about this scope in https://docs.zitadel.ch/concepts#Reserved_Scopes";
|
||||
}
|
||||
];
|
||||
string warn_color = 4 [(validate.rules).string = {max_len: 50}];
|
||||
string background_color = 5 [(validate.rules).string = {max_len: 50}];
|
||||
string font_color = 6 [(validate.rules).string = {max_len: 50}];
|
||||
string primary_color_dark = 7 [(validate.rules).string = {max_len: 50}];
|
||||
string background_color_dark = 8 [(validate.rules).string = { max_len: 50}];
|
||||
string warn_color_dark = 9 [(validate.rules).string = { max_len: 50}];
|
||||
string font_color_dark = 10 [(validate.rules).string = { max_len: 50}];
|
||||
bool disable_watermark = 11;
|
||||
}
|
||||
|
||||
message UpdateLabelPolicyResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message ActivateLabelPolicyRequest {}
|
||||
|
||||
message ActivateLabelPolicyResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message RemoveLabelPolicyLogoRequest {}
|
||||
|
||||
message RemoveLabelPolicyLogoResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message RemoveLabelPolicyLogoDarkRequest {}
|
||||
|
||||
message RemoveLabelPolicyLogoDarkResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message RemoveLabelPolicyIconRequest {}
|
||||
|
||||
message RemoveLabelPolicyIconResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message RemoveLabelPolicyIconDarkRequest {}
|
||||
|
||||
message RemoveLabelPolicyIconDarkResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message RemoveLabelPolicyFontRequest {}
|
||||
|
||||
message RemoveLabelPolicyFontResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message GetLoginPolicyRequest {}
|
||||
|
||||
|
@@ -281,6 +281,17 @@ service AuthService {
|
||||
};
|
||||
}
|
||||
|
||||
// Remove my avatar
|
||||
rpc RemoveMyAvatar(RemoveMyAvatarRequest) returns (RemoveMyAvatarResponse) {
|
||||
option (google.api.http) = {
|
||||
delete: "/users/me/avatar"
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "authenticated"
|
||||
};
|
||||
}
|
||||
|
||||
// Returns a list of all linked identity providers (social logins, eg. Google, Microsoft, AD, etc.)
|
||||
rpc ListMyLinkedIDPs(ListMyLinkedIDPsRequest) returns (ListMyLinkedIDPsResponse) {
|
||||
option (google.api.http) = {
|
||||
@@ -658,6 +669,13 @@ message RemoveMyPhoneResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message RemoveMyAvatarRequest {}
|
||||
|
||||
message RemoveMyAvatarResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
message ListMyLinkedIDPsRequest {
|
||||
//list limitations and ordering
|
||||
zitadel.v1.ListQuery query = 1;
|
||||
|
@@ -22,6 +22,8 @@ message Features {
|
||||
bool label_policy = 11;
|
||||
bool custom_domain = 12;
|
||||
bool login_policy_password_reset = 13;
|
||||
bool label_policy_private_label = 14;
|
||||
bool label_policy_watermark = 15;
|
||||
}
|
||||
|
||||
message FeatureTier {
|
||||
|
@@ -391,6 +391,16 @@ service ManagementService {
|
||||
permission: "user.write"
|
||||
};
|
||||
}
|
||||
// Removes the avatar number of the human
|
||||
rpc RemoveMyAvatar(RemoveHumanAvatarRequest) returns (RemoveHumanAvatarResponse) {
|
||||
option (google.api.http) = {
|
||||
delete: "/users/{user_id}/avatar"
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "user.write"
|
||||
};
|
||||
}
|
||||
|
||||
// deprecated: use SetHumanPassword
|
||||
rpc SetHumanInitialPassword(SetHumanInitialPasswordRequest) returns (SetHumanInitialPasswordResponse) {
|
||||
@@ -1916,7 +1926,7 @@ service ManagementService {
|
||||
};
|
||||
}
|
||||
|
||||
// Returns the label policy of the organisation
|
||||
// Returns the active label policy of the organisation
|
||||
// With this policy the private labeling can be configured (colors, etc.)
|
||||
rpc GetLabelPolicy(GetLabelPolicyRequest) returns (GetLabelPolicyResponse) {
|
||||
option (google.api.http) = {
|
||||
@@ -1928,6 +1938,18 @@ service ManagementService {
|
||||
};
|
||||
}
|
||||
|
||||
// Returns the preview label policy of the organisation
|
||||
// With this policy the private labeling can be configured (colors, etc.)
|
||||
rpc GetPreviewLabelPolicy(GetPreviewLabelPolicyRequest) returns (GetPreviewLabelPolicyResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/policies/label/_preview"
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "policy.read"
|
||||
};
|
||||
}
|
||||
|
||||
// Returns the default label policy of the IAM
|
||||
// With this policy the private labeling can be configured (colors, etc.)
|
||||
rpc GetDefaultLabelPolicy(GetDefaultLabelPolicyRequest) returns (GetDefaultLabelPolicyResponse) {
|
||||
@@ -1937,6 +1959,7 @@ service ManagementService {
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "policy.read"
|
||||
feature: "label_policy"
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1968,6 +1991,80 @@ service ManagementService {
|
||||
};
|
||||
}
|
||||
|
||||
// Activates all changes of the label policy
|
||||
rpc ActivateCustomLabelPolicy(ActivateCustomLabelPolicyRequest) returns (ActivateCustomLabelPolicyResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/policies/label/_activate"
|
||||
body: "*"
|
||||
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "policy.write"
|
||||
feature: "label_policy"
|
||||
};
|
||||
}
|
||||
|
||||
// Removes the logo of the label policy
|
||||
rpc RemoveCustomLabelPolicyLogo(RemoveCustomLabelPolicyLogoRequest) returns (RemoveCustomLabelPolicyLogoResponse) {
|
||||
option (google.api.http) = {
|
||||
delete: "/policies/label/logo"
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "policy.write"
|
||||
feature: "label_policy"
|
||||
};
|
||||
}
|
||||
|
||||
// Removes the logo dark of the label policy
|
||||
rpc RemoveCustomLabelPolicyLogoDark(RemoveCustomLabelPolicyLogoDarkRequest) returns (RemoveCustomLabelPolicyLogoDarkResponse) {
|
||||
option (google.api.http) = {
|
||||
delete: "/policies/label/logo_dark"
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "policy.write"
|
||||
feature: "label_policy"
|
||||
};
|
||||
}
|
||||
|
||||
// Removes the icon of the label policy
|
||||
rpc RemoveCustomLabelPolicyIcon(RemoveCustomLabelPolicyIconRequest) returns (RemoveCustomLabelPolicyIconResponse) {
|
||||
option (google.api.http) = {
|
||||
delete: "/policies/label/icon"
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "policy.write"
|
||||
feature: "label_policy"
|
||||
};
|
||||
}
|
||||
|
||||
// Removes the logo dark of the label policy
|
||||
rpc RemoveCustomLabelPolicyIconDark(RemoveCustomLabelPolicyIconDarkRequest) returns (RemoveCustomLabelPolicyIconDarkResponse) {
|
||||
option (google.api.http) = {
|
||||
delete: "/policies/label/icon_dark"
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "policy.write"
|
||||
feature: "label_policy"
|
||||
};
|
||||
}
|
||||
|
||||
// Removes the font of the label policy
|
||||
rpc RemoveCustomLabelPolicyFont(RemoveCustomLabelPolicyFontRequest) returns (RemoveCustomLabelPolicyFontResponse) {
|
||||
option (google.api.http) = {
|
||||
delete: "/policies/label/font"
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "policy.write"
|
||||
feature: "label_policy"
|
||||
};
|
||||
}
|
||||
|
||||
// Removes the custom label policy of the organisation
|
||||
// The default policy of the IAM will trigger after
|
||||
rpc ResetLabelPolicyToDefault(ResetLabelPolicyToDefaultRequest) returns (ResetLabelPolicyToDefaultResponse) {
|
||||
@@ -2384,6 +2481,14 @@ message ResendHumanPhoneVerificationResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
message RemoveHumanAvatarRequest {
|
||||
string user_id = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
|
||||
}
|
||||
|
||||
message RemoveHumanAvatarResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
message SetHumanInitialPasswordRequest {
|
||||
string user_id = 1 [(validate.rules).string.min_len = 1];
|
||||
string password = 2 [(validate.rules).string = {min_len: 1, max_len: 72}];
|
||||
@@ -3626,6 +3731,14 @@ message GetLabelPolicyResponse {
|
||||
bool is_default = 2;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message GetPreviewLabelPolicyRequest {}
|
||||
|
||||
message GetPreviewLabelPolicyResponse {
|
||||
zitadel.policy.v1.LabelPolicy policy = 1;
|
||||
bool is_default = 2;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message GetDefaultLabelPolicyRequest {}
|
||||
|
||||
@@ -3634,13 +3747,21 @@ message GetDefaultLabelPolicyResponse {
|
||||
}
|
||||
|
||||
message AddCustomLabelPolicyRequest {
|
||||
string primary_color = 1 [(validate.rules).string = {min_len: 1, max_len: 50}];
|
||||
string secondary_color = 2 [(validate.rules).string = {min_len: 1, max_len: 50}];
|
||||
string primary_color = 1 [(validate.rules).string = {max_len: 50}];
|
||||
// hides the org suffix on the login form if the scope \"urn:zitadel:iam:org:domain:primary:{domainname}\" is set. Details about this scope in https://docs.zitadel.ch/concepts#Reserved_Scopes
|
||||
bool hide_login_name_suffix = 3 [
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
description: "hides the org suffix on the login form if the scope \"urn:zitadel:iam:org:domain:primary:{domainname}\" is set. Details about this scope in https://docs.zitadel.ch/concepts#Reserved_Scopes";
|
||||
}
|
||||
];
|
||||
string warn_color = 4 [(validate.rules).string = {max_len: 50}];
|
||||
string background_color = 5 [(validate.rules).string = {max_len: 50}];
|
||||
string font_color = 6 [(validate.rules).string = {max_len: 50}];
|
||||
string primary_color_dark = 7 [(validate.rules).string = {max_len: 50}];
|
||||
string background_color_dark = 8 [(validate.rules).string = {max_len: 50}];
|
||||
string warn_color_dark = 9 [(validate.rules).string = {max_len: 50}];
|
||||
string font_color_dark = 10 [(validate.rules).string = {max_len: 50}];
|
||||
bool disable_watermark = 11;
|
||||
}
|
||||
|
||||
message AddCustomLabelPolicyResponse {
|
||||
@@ -3648,19 +3769,68 @@ message AddCustomLabelPolicyResponse {
|
||||
}
|
||||
|
||||
message UpdateCustomLabelPolicyRequest {
|
||||
string primary_color = 1 [(validate.rules).string = {min_len: 1, max_len: 50}];
|
||||
string secondary_color = 2 [(validate.rules).string = {min_len: 1, max_len: 50}];
|
||||
string primary_color = 1 [(validate.rules).string = {max_len: 50}];
|
||||
bool hide_login_name_suffix = 3 [
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
description: "hides the org suffix on the login form if the scope \"urn:zitadel:iam:org:domain:primary:{domainname}\" is set. Details about this scope in https://docs.zitadel.ch/concepts#Reserved_Scopes";
|
||||
}
|
||||
];
|
||||
string warn_color = 4 [(validate.rules).string = {max_len: 50}];
|
||||
string background_color = 5 [(validate.rules).string = {max_len: 50}];
|
||||
string font_color = 6 [(validate.rules).string = {max_len: 50}];
|
||||
string primary_color_dark = 7 [(validate.rules).string = {max_len: 50}];
|
||||
string background_color_dark = 8 [(validate.rules).string = {max_len: 50}];
|
||||
string warn_color_dark = 9 [(validate.rules).string = {max_len: 50}];
|
||||
string font_color_dark = 10 [(validate.rules).string = {max_len: 50}];
|
||||
bool disable_watermark = 11;
|
||||
}
|
||||
|
||||
message UpdateCustomLabelPolicyResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message ActivateCustomLabelPolicyRequest {}
|
||||
|
||||
message ActivateCustomLabelPolicyResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message RemoveCustomLabelPolicyLogoRequest {}
|
||||
|
||||
message RemoveCustomLabelPolicyLogoResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message RemoveCustomLabelPolicyLogoDarkRequest {}
|
||||
|
||||
message RemoveCustomLabelPolicyLogoDarkResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message RemoveCustomLabelPolicyIconRequest {}
|
||||
|
||||
message RemoveCustomLabelPolicyIconResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message RemoveCustomLabelPolicyIconDarkRequest {}
|
||||
|
||||
message RemoveCustomLabelPolicyIconDarkResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message RemoveCustomLabelPolicyFontRequest {}
|
||||
|
||||
message RemoveCustomLabelPolicyFontResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message ResetLabelPolicyToDefaultRequest {}
|
||||
|
||||
|
@@ -23,26 +23,72 @@ message OrgIAMPolicy {
|
||||
|
||||
message LabelPolicy {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
// hex value for primary color
|
||||
string primary_color = 2 [
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
description: "hex value for primary color"
|
||||
}
|
||||
];
|
||||
string secondary_color = 3 [
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
description: "hex value for secondary color"
|
||||
}
|
||||
];
|
||||
// defines if the organisation's admin changed the policy
|
||||
bool is_default = 4 [
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
description: "defines if the organisation's admin changed the policy"
|
||||
}
|
||||
];
|
||||
// hides the org suffix on the login form if the scope \"urn:zitadel:iam:org:domain:primary:{domainname}\" is set. Details about this scope in https://docs.zitadel.ch/concepts#Reserved_Scopes
|
||||
bool hide_login_name_suffix = 5 [
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
description: "hides the org suffix on the login form if the scope \"urn:zitadel:iam:org:domain:primary:{domainname}\" is set. Details about this scope in https://docs.zitadel.ch/concepts#Reserved_Scopes";
|
||||
}
|
||||
];
|
||||
// hex value for secondary color
|
||||
string warn_color = 6 [
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
description: "hex value for warn color"
|
||||
}
|
||||
];
|
||||
// hex value for background color
|
||||
string background_color = 7 [
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
description: "hex value for background color"
|
||||
}
|
||||
];
|
||||
// hex value for font color
|
||||
string font_color = 8 [
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
description: "hex value for font color"
|
||||
}
|
||||
];
|
||||
// hex value for primary color dark theme
|
||||
string primary_color_dark = 9 [
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
description: "hex value for primary color dark theme"
|
||||
}
|
||||
];
|
||||
// hex value for background color dark theme
|
||||
string background_color_dark = 10 [
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
description: "hex value for background color dark theme"
|
||||
}
|
||||
];
|
||||
// hex value for warn color dark theme
|
||||
string warn_color_dark = 11 [
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
description: "hex value for warn color dark theme"
|
||||
}
|
||||
];
|
||||
// hex value for font color dark theme
|
||||
string font_color_dark = 12 [
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
description: "hex value for font color dark theme"
|
||||
}
|
||||
];
|
||||
bool disable_watermark = 13;
|
||||
string logo_url = 14;
|
||||
string icon_url = 15;
|
||||
string logo_url_dark = 16;
|
||||
string icon_url_dark = 17;
|
||||
string font_url = 18;
|
||||
}
|
||||
|
||||
message LoginPolicy {
|
||||
|
Reference in New Issue
Block a user