mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-12 01:37:31 +00:00
feat: add notification policy and password change message (#5065)
Implementation of new notification policy with functionality to send email when a password is changed
This commit is contained in:
@@ -1945,6 +1945,91 @@ service AdminService {
|
||||
};
|
||||
}
|
||||
|
||||
//Add a default notification policy for ZITADEL
|
||||
// it impacts all organisations without a customised policy
|
||||
rpc AddNotificationPolicy(AddNotificationPolicyRequest) returns (AddNotificationPolicyResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/policies/notification"
|
||||
body: "*"
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "iam.policy.write";
|
||||
};
|
||||
|
||||
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
||||
tags: "policy";
|
||||
tags: "notification policy";
|
||||
tags: "notification";
|
||||
responses: {
|
||||
key: "200";
|
||||
value: {
|
||||
description: "default notification policy";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
//Returns the notification policy defined by the administrators of ZITADEL
|
||||
rpc GetNotificationPolicy(GetNotificationPolicyRequest) returns (GetNotificationPolicyResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/policies/notification";
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "iam.policy.read";
|
||||
};
|
||||
|
||||
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
||||
tags: "policy";
|
||||
tags: "notification policy";
|
||||
tags: "notification";
|
||||
responses: {
|
||||
key: "200";
|
||||
value: {
|
||||
description: "default notification policy";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
//Updates the default notification policy of ZITADEL
|
||||
// it impacts all organisations without a customised policy
|
||||
rpc UpdateNotificationPolicy(UpdateNotificationPolicyRequest) returns (UpdateNotificationPolicyResponse) {
|
||||
option (google.api.http) = {
|
||||
put: "/policies/notification";
|
||||
body: "*";
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "iam.policy.write";
|
||||
};
|
||||
|
||||
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
||||
tags: "policy";
|
||||
tags: "notification policy";
|
||||
tags: "notification";
|
||||
responses: {
|
||||
key: "200";
|
||||
value: {
|
||||
description: "default notification policy updated";
|
||||
};
|
||||
};
|
||||
responses: {
|
||||
key: "400";
|
||||
value: {
|
||||
description: "invalid argument";
|
||||
schema: {
|
||||
json_schema: {
|
||||
ref: "#/definitions/rpcStatus";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
//Returns the default text for initial message (translation file)
|
||||
rpc GetDefaultInitMessageText(GetDefaultInitMessageTextRequest) returns (GetDefaultInitMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
@@ -1967,10 +2052,11 @@ service AdminService {
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
//Sets the default custom text for initial message
|
||||
// it impacts all organisations without customized initial message text
|
||||
// The Following Variables can be used:
|
||||
// {{.Code}} {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}}
|
||||
// {{.Code}} {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}} {{.CreationDate}}
|
||||
rpc SetDefaultInitMessageText(SetDefaultInitMessageTextRequest) returns (SetDefaultInitMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
put: "/text/message/init/{language}";
|
||||
@@ -2019,7 +2105,7 @@ service AdminService {
|
||||
//Sets the default custom text for password reset message
|
||||
// it impacts all organisations without customized password reset message text
|
||||
// The Following Variables can be used:
|
||||
// {{.Code}} {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}}
|
||||
// {{.Code}} {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}} {{.CreationDate}}
|
||||
rpc SetDefaultPasswordResetMessageText(SetDefaultPasswordResetMessageTextRequest) returns (SetDefaultPasswordResetMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
put: "/text/message/passwordreset/{language}";
|
||||
@@ -2069,7 +2155,7 @@ service AdminService {
|
||||
//Sets the default custom text for verify email message
|
||||
// it impacts all organisations without customized verify email message text
|
||||
// The Following Variables can be used:
|
||||
// {{.Code}} {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}}
|
||||
// {{.Code}} {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}} {{.CreationDate}}
|
||||
rpc SetDefaultVerifyEmailMessageText(SetDefaultVerifyEmailMessageTextRequest) returns (SetDefaultVerifyEmailMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
put: "/text/message/verifyemail/{language}";
|
||||
@@ -2118,7 +2204,7 @@ service AdminService {
|
||||
//Sets the default custom text for verify phone message
|
||||
// it impacts all organisations without customized verify phone message text
|
||||
// The Following Variables can be used:
|
||||
// {{.Code}} {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}}
|
||||
// {{.Code}} {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}} {{.CreationDate}}
|
||||
rpc SetDefaultVerifyPhoneMessageText(SetDefaultVerifyPhoneMessageTextRequest) returns (SetDefaultVerifyPhoneMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
put: "/text/message/verifyphone/{language}";
|
||||
@@ -2164,10 +2250,10 @@ service AdminService {
|
||||
};
|
||||
}
|
||||
|
||||
//Sets the default custom text for domain claimed phone message
|
||||
//Sets the default custom text for domain claimed message
|
||||
// it impacts all organisations without customized domain claimed message text
|
||||
// The Following Variables can be used:
|
||||
// {{.Domain}} {{.TempUsername}} {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}}
|
||||
// {{.Domain}} {{.TempUsername}} {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}} {{.CreationDate}}
|
||||
rpc SetDefaultDomainClaimedMessageText(SetDefaultDomainClaimedMessageTextRequest) returns (SetDefaultDomainClaimedMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
put: "/text/message/domainclaimed/{language}";
|
||||
@@ -2216,7 +2302,7 @@ service AdminService {
|
||||
//Sets the default custom text for passwordless registration message
|
||||
// it impacts all organisations without customized passwordless registration message text
|
||||
// The Following Variables can be used:
|
||||
// {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}}
|
||||
// {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}} {{.CreationDate}}
|
||||
rpc SetDefaultPasswordlessRegistrationMessageText(SetDefaultPasswordlessRegistrationMessageTextRequest) returns (SetDefaultPasswordlessRegistrationMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
put: "/text/message/passwordless_registration/{language}";
|
||||
@@ -2240,6 +2326,57 @@ service AdminService {
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
//Returns the default text for password change message (translation file)
|
||||
rpc GetDefaultPasswordChangeMessageText(GetDefaultPasswordChangeMessageTextRequest) returns (GetDefaultPasswordChangeMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/text/default/message/password_change/{language}";
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "iam.policy.read";
|
||||
};
|
||||
}
|
||||
|
||||
//Returns the custom text for password change message (overwritten in eventstore)
|
||||
rpc GetCustomPasswordChangeMessageText(GetCustomPasswordChangeMessageTextRequest) returns (GetCustomPasswordChangeMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/text/message/password_change/{language}";
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "iam.policy.read";
|
||||
};
|
||||
}
|
||||
|
||||
//Sets the default custom text for password change message
|
||||
// it impacts all organisations without customized password change message text
|
||||
// The Following Variables can be used:
|
||||
// {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}} {{.CreationDate}}
|
||||
rpc SetDefaultPasswordChangeMessageText(SetDefaultPasswordChangeMessageTextRequest) returns (SetDefaultPasswordChangeMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
put: "/text/message/password_change/{language}";
|
||||
body: "*";
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "iam.policy.write";
|
||||
};
|
||||
}
|
||||
|
||||
// Removes the custom password change message text of the system
|
||||
// The default text from the translation file will trigger after
|
||||
rpc ResetCustomPasswordChangeMessageTextToDefault(ResetCustomPasswordChangeMessageTextToDefaultRequest) returns (ResetCustomPasswordChangeMessageTextToDefaultResponse) {
|
||||
option (google.api.http) = {
|
||||
delete: "/text/message/password_change/{language}"
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "iam.policy.delete"
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
//Returns the default custom texts for login ui (translation file)
|
||||
rpc GetDefaultLoginTexts(GetDefaultLoginTextsRequest) returns (GetDefaultLoginTextsResponse) {
|
||||
option (google.api.http) = {
|
||||
@@ -4111,6 +4248,29 @@ message UpdatePrivacyPolicyResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
message AddNotificationPolicyRequest {
|
||||
bool password_change = 1;
|
||||
}
|
||||
|
||||
message AddNotificationPolicyResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message GetNotificationPolicyRequest {}
|
||||
|
||||
message GetNotificationPolicyResponse {
|
||||
zitadel.policy.v1.NotificationPolicy policy = 1;
|
||||
}
|
||||
|
||||
message UpdateNotificationPolicyRequest {
|
||||
bool password_change = 1;
|
||||
}
|
||||
|
||||
message UpdateNotificationPolicyResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
message GetDefaultInitMessageTextRequest {
|
||||
string language = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
|
||||
}
|
||||
@@ -4331,6 +4491,51 @@ message ResetCustomDomainClaimedMessageTextToDefaultResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
message GetDefaultPasswordChangeMessageTextRequest {
|
||||
string language = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
|
||||
}
|
||||
|
||||
message GetDefaultPasswordChangeMessageTextResponse {
|
||||
zitadel.text.v1.MessageCustomText custom_text = 1;
|
||||
}
|
||||
|
||||
message GetCustomPasswordChangeMessageTextRequest {
|
||||
string language = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
|
||||
}
|
||||
|
||||
message GetCustomPasswordChangeMessageTextResponse {
|
||||
zitadel.text.v1.MessageCustomText custom_text = 1;
|
||||
}
|
||||
|
||||
message SetDefaultPasswordChangeMessageTextRequest {
|
||||
string language = 1 [
|
||||
(validate.rules).string = {min_len: 1, max_len: 200},
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
example: "\"de\""
|
||||
}
|
||||
];
|
||||
string title = 2 [(validate.rules).string = {max_len: 200}];
|
||||
string pre_header = 3 [(validate.rules).string = {max_len: 200}];
|
||||
string subject = 4 [(validate.rules).string = {max_len: 200}];
|
||||
string greeting = 5 [(validate.rules).string = {max_len: 200}];
|
||||
string text = 6 [(validate.rules).string = {max_len: 800}];
|
||||
string button_text = 7 [(validate.rules).string = {max_len: 200}];
|
||||
string footer_text = 8 [(validate.rules).string = {max_len: 200}];
|
||||
}
|
||||
|
||||
message SetDefaultPasswordChangeMessageTextResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
message ResetCustomPasswordChangeMessageTextToDefaultRequest {
|
||||
string language = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
|
||||
}
|
||||
|
||||
message ResetCustomPasswordChangeMessageTextToDefaultResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
|
||||
message GetDefaultPasswordlessRegistrationMessageTextRequest {
|
||||
string language = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
|
||||
}
|
||||
|
@@ -2248,7 +2248,7 @@ service ManagementService {
|
||||
};
|
||||
}
|
||||
|
||||
// Update the privacy complexity policy for the organisation
|
||||
// Update the privacy policy for the organisation
|
||||
// With this policy privacy relevant things can be configured (e.g. tos link)
|
||||
// Variable {{.Lang}} can be set to have different links based on the language
|
||||
rpc UpdateCustomPrivacyPolicy(UpdateCustomPrivacyPolicyRequest) returns (UpdateCustomPrivacyPolicyResponse) {
|
||||
@@ -2274,6 +2274,68 @@ service ManagementService {
|
||||
};
|
||||
}
|
||||
|
||||
// Returns the notification policy of the organisation
|
||||
// With this notification policy it can be configured how users should be notified
|
||||
rpc GetNotificationPolicy(GetNotificationPolicyRequest) returns (GetNotificationPolicyResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/policies/notification"
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "policy.read"
|
||||
};
|
||||
}
|
||||
|
||||
// Returns the default notification policy of the IAM
|
||||
// With this notification privacy it can be configured how users should be notified
|
||||
rpc GetDefaultNotificationPolicy(GetDefaultNotificationPolicyRequest) returns (GetDefaultNotificationPolicyResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/policies/default/notification"
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "policy.read"
|
||||
};
|
||||
}
|
||||
|
||||
// Add a custom notification policy for the organisation
|
||||
// With this notification privacy it can be configured how users should be notified
|
||||
rpc AddCustomNotificationPolicy(AddCustomNotificationPolicyRequest) returns (AddCustomNotificationPolicyResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/policies/notification"
|
||||
body: "*"
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "policy.write"
|
||||
};
|
||||
}
|
||||
|
||||
// Update the notification policy for the organisation
|
||||
// With this notification privacy it can be configured how users should be notified
|
||||
rpc UpdateCustomNotificationPolicy(UpdateCustomNotificationPolicyRequest) returns (UpdateCustomNotificationPolicyResponse) {
|
||||
option (google.api.http) = {
|
||||
put: "/policies/notification"
|
||||
body: "*"
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "policy.write"
|
||||
};
|
||||
}
|
||||
|
||||
// Removes the notification policy of the organisation
|
||||
// The default policy of the IAM will trigger after
|
||||
rpc ResetNotificationPolicyToDefault(ResetNotificationPolicyToDefaultRequest) returns (ResetNotificationPolicyToDefaultResponse) {
|
||||
option (google.api.http) = {
|
||||
delete: "/policies/notification"
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "policy.delete"
|
||||
};
|
||||
}
|
||||
|
||||
// Returns the active label policy of the organisation
|
||||
// With this policy the private labeling can be configured (colors, etc.)
|
||||
rpc GetLabelPolicy(GetLabelPolicyRequest) returns (GetLabelPolicyResponse) {
|
||||
@@ -2487,7 +2549,7 @@ service ManagementService {
|
||||
|
||||
// Sets the custom text for password reset message
|
||||
// The Following Variables can be used:
|
||||
// {{.Code}} {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}}
|
||||
// {{.Code}} {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}} {{.CreationDate}}
|
||||
rpc SetCustomPasswordResetMessageText(SetCustomPasswordResetMessageTextRequest) returns (SetCustomPasswordResetMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
put: "/text/message/passwordreset/{language}";
|
||||
@@ -2535,7 +2597,7 @@ service ManagementService {
|
||||
|
||||
// Sets the custom text for verify email message
|
||||
// The Following Variables can be used:
|
||||
// {{.Code}} {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}}
|
||||
// {{.Code}} {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}} {{.CreationDate}}
|
||||
rpc SetCustomVerifyEmailMessageText(SetCustomVerifyEmailMessageTextRequest) returns (SetCustomVerifyEmailMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
put: "/text/message/verifyemail/{language}";
|
||||
@@ -2583,7 +2645,7 @@ service ManagementService {
|
||||
|
||||
// Sets the default custom text for verify email message
|
||||
// The Following Variables can be used:
|
||||
// {{.Code}} {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}}
|
||||
// {{.Code}} {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}} {{.CreationDate}}
|
||||
rpc SetCustomVerifyPhoneMessageText(SetCustomVerifyPhoneMessageTextRequest) returns (SetCustomVerifyPhoneMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
put: "/text/message/verifyphone/{language}";
|
||||
@@ -2631,7 +2693,7 @@ service ManagementService {
|
||||
|
||||
// Sets the custom text for domain claimed message
|
||||
// The Following Variables can be used:
|
||||
// {{.Domain}} {{.TempUsername}} {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}}
|
||||
// {{.Domain}} {{.TempUsername}} {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}} {{.CreationDate}}
|
||||
rpc SetCustomDomainClaimedMessageCustomText(SetCustomDomainClaimedMessageTextRequest) returns (SetCustomDomainClaimedMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
put: "/text/message/domainclaimed/{language}";
|
||||
@@ -2679,7 +2741,7 @@ service ManagementService {
|
||||
|
||||
// Sets the custom text for passwordless link message
|
||||
// The Following Variables can be used:
|
||||
// {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}}
|
||||
// {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}} {{.CreationDate}}
|
||||
rpc SetCustomPasswordlessRegistrationMessageCustomText(SetCustomPasswordlessRegistrationMessageTextRequest) returns (SetCustomPasswordlessRegistrationMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
put: "/text/message/passwordless_registration/{language}";
|
||||
@@ -2703,6 +2765,54 @@ service ManagementService {
|
||||
};
|
||||
}
|
||||
|
||||
//Returns the custom text for password change message
|
||||
rpc GetCustomPasswordChangeMessageText(GetCustomPasswordChangeMessageTextRequest) returns (GetCustomPasswordChangeMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/text/message/password_change/{language}";
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "policy.read";
|
||||
};
|
||||
}
|
||||
|
||||
//Returns the custom text for password change link message
|
||||
rpc GetDefaultPasswordChangeMessageText(GetDefaultPasswordChangeMessageTextRequest) returns (GetDefaultPasswordChangeMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/text/default/message/password_change/{language}";
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "policy.read";
|
||||
};
|
||||
}
|
||||
|
||||
// Sets the custom text for password change message
|
||||
// The Following Variables can be used:
|
||||
// {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}} {{.CreationDate}}
|
||||
rpc SetCustomPasswordChangeMessageCustomText(SetCustomPasswordChangeMessageTextRequest) returns (SetCustomPasswordChangeMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
put: "/text/message/password_change/{language}";
|
||||
body: "*";
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "policy.write";
|
||||
};
|
||||
}
|
||||
|
||||
// Removes the custom password change message text of the organisation
|
||||
// The default text of the IAM will trigger after
|
||||
rpc ResetCustomPasswordChangeMessageTextToDefault(ResetCustomPasswordChangeMessageTextToDefaultRequest) returns (ResetCustomPasswordChangeMessageTextToDefaultResponse) {
|
||||
option (google.api.http) = {
|
||||
delete: "/text/message/password_change/{language}"
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "policy.delete"
|
||||
};
|
||||
}
|
||||
|
||||
//Returns the custom texts for login ui
|
||||
rpc GetCustomLoginTexts(GetCustomLoginTextsRequest) returns (GetCustomLoginTextsResponse) {
|
||||
option (google.api.http) = {
|
||||
@@ -4941,6 +5051,43 @@ message ResetPrivacyPolicyToDefaultResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message GetNotificationPolicyRequest {}
|
||||
|
||||
message GetNotificationPolicyResponse {
|
||||
zitadel.policy.v1.NotificationPolicy policy = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message GetDefaultNotificationPolicyRequest {}
|
||||
|
||||
message GetDefaultNotificationPolicyResponse {
|
||||
zitadel.policy.v1.NotificationPolicy policy = 1;
|
||||
}
|
||||
|
||||
message AddCustomNotificationPolicyRequest {
|
||||
bool password_change = 1;
|
||||
}
|
||||
|
||||
message AddCustomNotificationPolicyResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
message UpdateCustomNotificationPolicyRequest {
|
||||
bool password_change = 1;
|
||||
}
|
||||
|
||||
message UpdateCustomNotificationPolicyResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message ResetNotificationPolicyToDefaultRequest {}
|
||||
|
||||
message ResetNotificationPolicyToDefaultResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message GetLabelPolicyRequest {}
|
||||
|
||||
@@ -5393,6 +5540,51 @@ message ResetCustomPasswordlessRegistrationMessageTextToDefaultResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
|
||||
message GetCustomPasswordChangeMessageTextRequest {
|
||||
string language = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
|
||||
}
|
||||
|
||||
message GetCustomPasswordChangeMessageTextResponse {
|
||||
zitadel.text.v1.MessageCustomText custom_text = 1;
|
||||
}
|
||||
|
||||
message GetDefaultPasswordChangeMessageTextRequest {
|
||||
string language = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
|
||||
}
|
||||
|
||||
message GetDefaultPasswordChangeMessageTextResponse {
|
||||
zitadel.text.v1.MessageCustomText custom_text = 1;
|
||||
}
|
||||
|
||||
message SetCustomPasswordChangeMessageTextRequest {
|
||||
string language = 1 [
|
||||
(validate.rules).string = {min_len: 1, max_len: 200},
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
example: "\"de\""
|
||||
}
|
||||
];
|
||||
string title = 2 [(validate.rules).string = {max_len: 200}];
|
||||
string pre_header = 3 [(validate.rules).string = {max_len: 200}];
|
||||
string subject = 4 [(validate.rules).string = {max_len: 200}];
|
||||
string greeting = 5 [(validate.rules).string = {max_len: 200}];
|
||||
string text = 6 [(validate.rules).string = {max_len: 800}];
|
||||
string button_text = 7 [(validate.rules).string = {max_len: 200}];
|
||||
string footer_text = 8 [(validate.rules).string = {max_len: 200}];
|
||||
}
|
||||
|
||||
message SetCustomPasswordChangeMessageTextResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
message ResetCustomPasswordChangeMessageTextToDefaultRequest {
|
||||
string language = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
|
||||
}
|
||||
|
||||
message ResetCustomPasswordChangeMessageTextToDefaultResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
message GetOrgIDPByIDRequest {
|
||||
string id = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
|
||||
}
|
||||
|
@@ -285,3 +285,9 @@ message PrivacyPolicy {
|
||||
bool is_default = 4;
|
||||
string help_link = 5;
|
||||
}
|
||||
|
||||
message NotificationPolicy {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
bool is_default = 2;
|
||||
bool password_change = 3;
|
||||
}
|
||||
|
Reference in New Issue
Block a user