mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-12 04:57:33 +00:00
Merge remote-tracking branch 'origin/master' into new-eventstore
This commit is contained in:
@@ -42,3 +42,45 @@ func (s *Server) RemoveIdpProviderFromDefaultLoginPolicy(ctx context.Context, pr
|
||||
err := s.iam.RemoveIDPProviderFromLoginPolicy(ctx, idpProviderToModel(provider))
|
||||
return &empty.Empty{}, err
|
||||
}
|
||||
|
||||
func (s *Server) GetDefaultLoginPolicySecondFactors(ctx context.Context, _ *empty.Empty) (*admin.SecondFactorsResult, error) {
|
||||
result, err := s.iam.SearchDefaultSecondFactors(ctx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return secondFactorsResultFromModel(result), nil
|
||||
}
|
||||
|
||||
func (s *Server) AddSecondFactorToDefaultLoginPolicy(ctx context.Context, mfa *admin.SecondFactor) (*admin.SecondFactor, error) {
|
||||
result, err := s.iam.AddSecondFactorToLoginPolicy(ctx, secondFactorTypeToModel(mfa))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return secondFactorFromModel(result), nil
|
||||
}
|
||||
|
||||
func (s *Server) RemoveSecondFactorFromDefaultLoginPolicy(ctx context.Context, mfa *admin.SecondFactor) (*empty.Empty, error) {
|
||||
err := s.iam.RemoveSecondFactorFromLoginPolicy(ctx, secondFactorTypeToModel(mfa))
|
||||
return &empty.Empty{}, err
|
||||
}
|
||||
|
||||
func (s *Server) GetDefaultLoginPolicyMultiFactors(ctx context.Context, _ *empty.Empty) (*admin.MultiFactorsResult, error) {
|
||||
result, err := s.iam.SearchDefaultMultiFactors(ctx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return multiFactorResultFromModel(result), nil
|
||||
}
|
||||
|
||||
func (s *Server) AddMultiFactorToDefaultLoginPolicy(ctx context.Context, mfa *admin.MultiFactor) (*admin.MultiFactor, error) {
|
||||
result, err := s.iam.AddMultiFactorToLoginPolicy(ctx, multiFactorTypeToModel(mfa))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return multiFactorFromModel(result), nil
|
||||
}
|
||||
|
||||
func (s *Server) RemoveMultiFactorFromDefaultLoginPolicy(ctx context.Context, mfa *admin.MultiFactor) (*empty.Empty, error) {
|
||||
err := s.iam.RemoveMultiFactorFromLoginPolicy(ctx, multiFactorTypeToModel(mfa))
|
||||
return &empty.Empty{}, err
|
||||
}
|
||||
|
@@ -12,6 +12,7 @@ func loginPolicyToModel(policy *admin.DefaultLoginPolicyRequest) *iam_model.Logi
|
||||
AllowUsernamePassword: policy.AllowUsernamePassword,
|
||||
AllowExternalIdp: policy.AllowExternalIdp,
|
||||
AllowRegister: policy.AllowRegister,
|
||||
ForceMFA: policy.ForceMfa,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +27,7 @@ func loginPolicyFromModel(policy *iam_model.LoginPolicy) *admin.DefaultLoginPoli
|
||||
AllowUsernamePassword: policy.AllowUsernamePassword,
|
||||
AllowExternalIdp: policy.AllowExternalIdp,
|
||||
AllowRegister: policy.AllowRegister,
|
||||
ForceMfa: policy.ForceMFA,
|
||||
CreationDate: creationDate,
|
||||
ChangeDate: changeDate,
|
||||
}
|
||||
@@ -42,6 +44,7 @@ func loginPolicyViewFromModel(policy *iam_model.LoginPolicyView) *admin.DefaultL
|
||||
AllowUsernamePassword: policy.AllowUsernamePassword,
|
||||
AllowExternalIdp: policy.AllowExternalIDP,
|
||||
AllowRegister: policy.AllowRegister,
|
||||
ForceMfa: policy.ForceMFA,
|
||||
CreationDate: creationDate,
|
||||
ChangeDate: changeDate,
|
||||
}
|
||||
@@ -103,3 +106,75 @@ func idpConfigTypeToModel(providerType iam_model.IdpConfigType) admin.IdpType {
|
||||
return admin.IdpType_IDPTYPE_UNSPECIFIED
|
||||
}
|
||||
}
|
||||
|
||||
func secondFactorsResultFromModel(result *iam_model.SecondFactorsSearchResponse) *admin.SecondFactorsResult {
|
||||
converted := make([]admin.SecondFactorType, len(result.Result))
|
||||
for i, mfaType := range result.Result {
|
||||
converted[i] = secondFactorTypeFromModel(mfaType)
|
||||
}
|
||||
return &admin.SecondFactorsResult{
|
||||
SecondFactors: converted,
|
||||
}
|
||||
}
|
||||
|
||||
func secondFactorFromModel(mfaType iam_model.SecondFactorType) *admin.SecondFactor {
|
||||
return &admin.SecondFactor{
|
||||
SecondFactor: secondFactorTypeFromModel(mfaType),
|
||||
}
|
||||
}
|
||||
|
||||
func secondFactorTypeFromModel(mfaType iam_model.SecondFactorType) admin.SecondFactorType {
|
||||
switch mfaType {
|
||||
case iam_model.SecondFactorTypeOTP:
|
||||
return admin.SecondFactorType_SECONDFACTORTYPE_OTP
|
||||
case iam_model.SecondFactorTypeU2F:
|
||||
return admin.SecondFactorType_SECONDFACTORTYPE_U2F
|
||||
default:
|
||||
return admin.SecondFactorType_SECONDFACTORTYPE_UNSPECIFIED
|
||||
}
|
||||
}
|
||||
|
||||
func secondFactorTypeToModel(mfaType *admin.SecondFactor) iam_model.SecondFactorType {
|
||||
switch mfaType.SecondFactor {
|
||||
case admin.SecondFactorType_SECONDFACTORTYPE_OTP:
|
||||
return iam_model.SecondFactorTypeOTP
|
||||
case admin.SecondFactorType_SECONDFACTORTYPE_U2F:
|
||||
return iam_model.SecondFactorTypeU2F
|
||||
default:
|
||||
return iam_model.SecondFactorTypeUnspecified
|
||||
}
|
||||
}
|
||||
|
||||
func multiFactorResultFromModel(result *iam_model.MultiFactorsSearchResponse) *admin.MultiFactorsResult {
|
||||
converted := make([]admin.MultiFactorType, len(result.Result))
|
||||
for i, mfaType := range result.Result {
|
||||
converted[i] = multiFactorTypeFromModel(mfaType)
|
||||
}
|
||||
return &admin.MultiFactorsResult{
|
||||
MultiFactors: converted,
|
||||
}
|
||||
}
|
||||
|
||||
func multiFactorFromModel(mfaType iam_model.MultiFactorType) *admin.MultiFactor {
|
||||
return &admin.MultiFactor{
|
||||
MultiFactor: multiFactorTypeFromModel(mfaType),
|
||||
}
|
||||
}
|
||||
|
||||
func multiFactorTypeFromModel(mfaType iam_model.MultiFactorType) admin.MultiFactorType {
|
||||
switch mfaType {
|
||||
case iam_model.MultiFactorTypeU2FWithPIN:
|
||||
return admin.MultiFactorType_MULTIFACTORTYPE_U2F_WITH_PIN
|
||||
default:
|
||||
return admin.MultiFactorType_MULTIFACTORTYPE_UNSPECIFIED
|
||||
}
|
||||
}
|
||||
|
||||
func multiFactorTypeToModel(mfaType *admin.MultiFactor) iam_model.MultiFactorType {
|
||||
switch mfaType.MultiFactor {
|
||||
case admin.MultiFactorType_MULTIFACTORTYPE_U2F_WITH_PIN:
|
||||
return iam_model.MultiFactorTypeU2FWithPIN
|
||||
default:
|
||||
return iam_model.MultiFactorTypeUnspecified
|
||||
}
|
||||
}
|
||||
|
@@ -63,3 +63,45 @@ func (s *Server) RemoveIdpProviderFromLoginPolicy(ctx context.Context, provider
|
||||
err := s.org.RemoveIDPProviderFromLoginPolicy(ctx, idpProviderToModel(provider))
|
||||
return &empty.Empty{}, err
|
||||
}
|
||||
|
||||
func (s *Server) GetLoginPolicySecondFactors(ctx context.Context, _ *empty.Empty) (*management.SecondFactorsResult, error) {
|
||||
result, err := s.org.SearchSecondFactors(ctx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return secondFactorResultFromModel(result), nil
|
||||
}
|
||||
|
||||
func (s *Server) AddSecondFactorToLoginPolicy(ctx context.Context, mfa *management.SecondFactor) (*management.SecondFactor, error) {
|
||||
result, err := s.org.AddSecondFactorToLoginPolicy(ctx, secondFactorTypeToModel(mfa))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return secondFactorFromModel(result), nil
|
||||
}
|
||||
|
||||
func (s *Server) RemoveSecondFactorFromLoginPolicy(ctx context.Context, mfa *management.SecondFactor) (*empty.Empty, error) {
|
||||
err := s.org.RemoveSecondFactorFromLoginPolicy(ctx, secondFactorTypeToModel(mfa))
|
||||
return &empty.Empty{}, err
|
||||
}
|
||||
|
||||
func (s *Server) GetLoginPolicyMultiFactors(ctx context.Context, _ *empty.Empty) (*management.MultiFactorsResult, error) {
|
||||
result, err := s.org.SearchMultiFactors(ctx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return multiFactorResultFromModel(result), nil
|
||||
}
|
||||
|
||||
func (s *Server) AddMultiFactorToLoginPolicy(ctx context.Context, mfa *management.MultiFactor) (*management.MultiFactor, error) {
|
||||
result, err := s.org.AddMultiFactorToLoginPolicy(ctx, multiFactorTypeToModel(mfa))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return multiFactorFromModel(result), nil
|
||||
}
|
||||
|
||||
func (s *Server) RemoveMultiFactorFromLoginPolicy(ctx context.Context, mfa *management.MultiFactor) (*empty.Empty, error) {
|
||||
err := s.org.RemoveMultiFactorFromLoginPolicy(ctx, multiFactorTypeToModel(mfa))
|
||||
return &empty.Empty{}, err
|
||||
}
|
||||
|
@@ -12,6 +12,7 @@ func loginPolicyRequestToModel(policy *management.LoginPolicyRequest) *iam_model
|
||||
AllowUsernamePassword: policy.AllowUsernamePassword,
|
||||
AllowExternalIdp: policy.AllowExternalIdp,
|
||||
AllowRegister: policy.AllowRegister,
|
||||
ForceMFA: policy.ForceMfa,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,6 +29,7 @@ func loginPolicyFromModel(policy *iam_model.LoginPolicy) *management.LoginPolicy
|
||||
AllowRegister: policy.AllowRegister,
|
||||
CreationDate: creationDate,
|
||||
ChangeDate: changeDate,
|
||||
ForceMfa: policy.ForceMFA,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,6 +47,7 @@ func loginPolicyViewFromModel(policy *iam_model.LoginPolicyView) *management.Log
|
||||
AllowRegister: policy.AllowRegister,
|
||||
CreationDate: creationDate,
|
||||
ChangeDate: changeDate,
|
||||
ForceMfa: policy.ForceMFA,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -140,3 +143,75 @@ func idpProviderTypeFromModel(providerType iam_model.IDPProviderType) management
|
||||
return management.IdpProviderType_IDPPROVIDERTYPE_UNSPECIFIED
|
||||
}
|
||||
}
|
||||
|
||||
func secondFactorResultFromModel(result *iam_model.SecondFactorsSearchResponse) *management.SecondFactorsResult {
|
||||
converted := make([]management.SecondFactorType, len(result.Result))
|
||||
for i, mfaType := range result.Result {
|
||||
converted[i] = secondFactorTypeFromModel(mfaType)
|
||||
}
|
||||
return &management.SecondFactorsResult{
|
||||
SecondFactors: converted,
|
||||
}
|
||||
}
|
||||
|
||||
func secondFactorFromModel(mfaType iam_model.SecondFactorType) *management.SecondFactor {
|
||||
return &management.SecondFactor{
|
||||
SecondFactor: secondFactorTypeFromModel(mfaType),
|
||||
}
|
||||
}
|
||||
|
||||
func secondFactorTypeFromModel(mfaType iam_model.SecondFactorType) management.SecondFactorType {
|
||||
switch mfaType {
|
||||
case iam_model.SecondFactorTypeOTP:
|
||||
return management.SecondFactorType_SECONDFACTORTYPE_OTP
|
||||
case iam_model.SecondFactorTypeU2F:
|
||||
return management.SecondFactorType_SECONDFACTORTYPE_U2F
|
||||
default:
|
||||
return management.SecondFactorType_SECONDFACTORTYPE_UNSPECIFIED
|
||||
}
|
||||
}
|
||||
|
||||
func secondFactorTypeToModel(mfaType *management.SecondFactor) iam_model.SecondFactorType {
|
||||
switch mfaType.SecondFactor {
|
||||
case management.SecondFactorType_SECONDFACTORTYPE_OTP:
|
||||
return iam_model.SecondFactorTypeOTP
|
||||
case management.SecondFactorType_SECONDFACTORTYPE_U2F:
|
||||
return iam_model.SecondFactorTypeU2F
|
||||
default:
|
||||
return iam_model.SecondFactorTypeUnspecified
|
||||
}
|
||||
}
|
||||
|
||||
func multiFactorResultFromModel(result *iam_model.MultiFactorsSearchResponse) *management.MultiFactorsResult {
|
||||
converted := make([]management.MultiFactorType, len(result.Result))
|
||||
for i, mfaType := range result.Result {
|
||||
converted[i] = multiFactorTypeFromModel(mfaType)
|
||||
}
|
||||
return &management.MultiFactorsResult{
|
||||
MultiFactors: converted,
|
||||
}
|
||||
}
|
||||
|
||||
func multiFactorFromModel(mfaType iam_model.MultiFactorType) *management.MultiFactor {
|
||||
return &management.MultiFactor{
|
||||
MultiFactor: multiFactorTypeFromModel(mfaType),
|
||||
}
|
||||
}
|
||||
|
||||
func multiFactorTypeFromModel(mfaType iam_model.MultiFactorType) management.MultiFactorType {
|
||||
switch mfaType {
|
||||
case iam_model.MultiFactorTypeU2FWithPIN:
|
||||
return management.MultiFactorType_MULTIFACTORTYPE_U2F_WITH_PIN
|
||||
default:
|
||||
return management.MultiFactorType_MULTIFACTORTYPE_UNSPECIFIED
|
||||
}
|
||||
}
|
||||
|
||||
func multiFactorTypeToModel(mfaType *management.MultiFactor) iam_model.MultiFactorType {
|
||||
switch mfaType.MultiFactor {
|
||||
case management.MultiFactorType_MULTIFACTORTYPE_U2F_WITH_PIN:
|
||||
return iam_model.MultiFactorTypeU2FWithPIN
|
||||
default:
|
||||
return iam_model.MultiFactorTypeUnspecified
|
||||
}
|
||||
}
|
||||
|
@@ -195,6 +195,11 @@ func (s *Server) SetInitialPassword(ctx context.Context, request *management.Pas
|
||||
return &empty.Empty{}, err
|
||||
}
|
||||
|
||||
func (s *Server) ResendInitialMail(ctx context.Context, request *management.InitialMailRequest) (*empty.Empty, error) {
|
||||
err := s.user.ResendInitialMail(ctx, request.Id, request.Email)
|
||||
return &empty.Empty{}, err
|
||||
}
|
||||
|
||||
func (s *Server) SearchUserExternalIDPs(ctx context.Context, request *management.ExternalIDPSearchRequest) (*management.ExternalIDPSearchResponse, error) {
|
||||
externalIDP, err := s.user.SearchExternalIDPs(ctx, externalIDPSearchRequestToModel(request))
|
||||
if err != nil {
|
||||
@@ -208,12 +213,12 @@ func (s *Server) RemoveExternalIDP(ctx context.Context, request *management.Exte
|
||||
return &empty.Empty{}, err
|
||||
}
|
||||
|
||||
func (s *Server) GetUserMfas(ctx context.Context, userID *management.UserID) (*management.MultiFactors, error) {
|
||||
func (s *Server) GetUserMfas(ctx context.Context, userID *management.UserID) (*management.UserMultiFactors, error) {
|
||||
mfas, err := s.user.UserMfas(ctx, userID.Id)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &management.MultiFactors{Mfas: mfasFromModel(mfas)}, nil
|
||||
return &management.UserMultiFactors{Mfas: mfasFromModel(mfas)}, nil
|
||||
}
|
||||
|
||||
func (s *Server) SearchUserMemberships(ctx context.Context, in *management.UserMembershipSearchRequest) (*management.UserMembershipSearchResponse, error) {
|
||||
|
@@ -491,16 +491,16 @@ func userMembershipViewFromModel(membership *usr_model.UserMembershipView) *mana
|
||||
}
|
||||
}
|
||||
|
||||
func mfasFromModel(mfas []*usr_model.MultiFactor) []*management.MultiFactor {
|
||||
converted := make([]*management.MultiFactor, len(mfas))
|
||||
func mfasFromModel(mfas []*usr_model.MultiFactor) []*management.UserMultiFactor {
|
||||
converted := make([]*management.UserMultiFactor, len(mfas))
|
||||
for i, mfa := range mfas {
|
||||
converted[i] = mfaFromModel(mfa)
|
||||
}
|
||||
return converted
|
||||
}
|
||||
|
||||
func mfaFromModel(mfa *usr_model.MultiFactor) *management.MultiFactor {
|
||||
return &management.MultiFactor{
|
||||
func mfaFromModel(mfa *usr_model.MultiFactor) *management.UserMultiFactor {
|
||||
return &management.UserMultiFactor{
|
||||
State: mfaStateFromModel(mfa.State),
|
||||
Type: mfaTypeFromModel(mfa.Type),
|
||||
}
|
||||
|
@@ -89,6 +89,22 @@ func userGrantSearchKeyToModel(key management.UserGrantSearchKey) grant_model.Us
|
||||
return grant_model.UserGrantSearchKeyRoleKey
|
||||
case management.UserGrantSearchKey_USERGRANTSEARCHKEY_GRANT_ID:
|
||||
return grant_model.UserGrantSearchKeyGrantID
|
||||
case management.UserGrantSearchKey_USERGRANTSEARCHKEY_USER_NAME:
|
||||
return grant_model.UserGrantSearchKeyUserName
|
||||
case management.UserGrantSearchKey_USERGRANTSEARCHKEY_FIRST_NAME:
|
||||
return grant_model.UserGrantSearchKeyFirstName
|
||||
case management.UserGrantSearchKey_USERGRANTSEARCHKEY_LAST_NAME:
|
||||
return grant_model.UserGrantSearchKeyLastName
|
||||
case management.UserGrantSearchKey_USERGRANTSEARCHKEY_EMAIL:
|
||||
return grant_model.UserGrantSearchKeyEmail
|
||||
case management.UserGrantSearchKey_USERGRANTSEARCHKEY_ORG_NAME:
|
||||
return grant_model.UserGrantSearchKeyOrgName
|
||||
case management.UserGrantSearchKey_USERGRANTSEARCHKEY_ORG_DOMAIN:
|
||||
return grant_model.UserGrantSearchKeyOrgDomain
|
||||
case management.UserGrantSearchKey_USERGRANTSEARCHKEY_PROJECT_NAME:
|
||||
return grant_model.UserGrantSearchKeyProjectName
|
||||
case management.UserGrantSearchKey_USERGRANTSEARCHKEY_DISPLAY_NAME:
|
||||
return grant_model.UserGrantSearchKeyDisplayName
|
||||
default:
|
||||
return grant_model.UserGrantSearchKeyUnspecified
|
||||
}
|
||||
|
Reference in New Issue
Block a user