mirror of
https://github.com/zitadel/zitadel.git
synced 2025-10-16 13:44:54 +00:00
feat: ResetPassword endpoint
This commit is contained in:
@@ -210,7 +210,7 @@ func TestCommands_CreateDebugEvents(t *testing.T) {
|
|||||||
}},
|
}},
|
||||||
want: &domain.ObjectDetails{
|
want: &domain.ObjectDetails{
|
||||||
ResourceOwner: "instance1",
|
ResourceOwner: "instance1",
|
||||||
ID: "dgb1",
|
ID: "dbg1",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -244,7 +244,7 @@ func TestCommands_CreateDebugEvents(t *testing.T) {
|
|||||||
}},
|
}},
|
||||||
want: &domain.ObjectDetails{
|
want: &domain.ObjectDetails{
|
||||||
ResourceOwner: "instance1",
|
ResourceOwner: "instance1",
|
||||||
ID: "dgb1",
|
ID: "dbg1",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -277,7 +277,7 @@ func TestCommands_CreateDebugEvents(t *testing.T) {
|
|||||||
}},
|
}},
|
||||||
want: &domain.ObjectDetails{
|
want: &domain.ObjectDetails{
|
||||||
ResourceOwner: "instance1",
|
ResourceOwner: "instance1",
|
||||||
ID: "dgb1",
|
ID: "dbg1",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -327,7 +327,7 @@ func TestCommands_CreateDebugEvents(t *testing.T) {
|
|||||||
}},
|
}},
|
||||||
want: &domain.ObjectDetails{
|
want: &domain.ObjectDetails{
|
||||||
ResourceOwner: "instance1",
|
ResourceOwner: "instance1",
|
||||||
ID: "dgb1",
|
ID: "dbg1",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@@ -194,7 +194,7 @@ func (c *Commands) getSchemaUserPasswordWithVerification(ctx context.Context, us
|
|||||||
}
|
}
|
||||||
// ...or old password
|
// ...or old password
|
||||||
if user.CurrentPassword != "" {
|
if user.CurrentPassword != "" {
|
||||||
verification = c.checkCurrentPassword(user.Password, user.EncodedPasswordHash, user.CurrentPassword, writeModel.EncodedHash)
|
verification = c.checkSchemaUserCurrentPassword(user.Password, user.EncodedPasswordHash, user.CurrentPassword, writeModel.EncodedHash)
|
||||||
}
|
}
|
||||||
|
|
||||||
if verification != nil {
|
if verification != nil {
|
||||||
@@ -242,9 +242,9 @@ func (c *Commands) checkSchemaUserCurrentPassword(
|
|||||||
) setPasswordVerification {
|
) setPasswordVerification {
|
||||||
// in case the new password is already encoded, we only need to verify the current
|
// in case the new password is already encoded, we only need to verify the current
|
||||||
if newEncodedPassword != "" {
|
if newEncodedPassword != "" {
|
||||||
return func(ctx context.Context) (_ string, err error) {
|
return func(ctx context.Context) (string, error) {
|
||||||
_, spanPasswap := tracing.NewNamedSpan(ctx, "passwap.Verify")
|
_, spanPasswap := tracing.NewNamedSpan(ctx, "passwap.Verify")
|
||||||
_, err = c.userPasswordHasher.Verify(currentEncodePassword, currentPassword)
|
_, err := c.userPasswordHasher.Verify(currentEncodePassword, currentPassword)
|
||||||
spanPasswap.EndWithError(err)
|
spanPasswap.EndWithError(err)
|
||||||
return "", convertPasswapErr(err)
|
return "", convertPasswapErr(err)
|
||||||
}
|
}
|
||||||
|
@@ -78,34 +78,6 @@ func (c *Commands) getSchemaUsernameExistsWithPermission(ctx context.Context, re
|
|||||||
return writeModel, nil
|
return writeModel, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func existingSchemaUser(ctx context.Context, c *Commands, resourceOwner, userID string) (*UserV3WriteModel, error) {
|
|
||||||
if userID == "" {
|
|
||||||
return nil, zerrors.ThrowInvalidArgument(nil, "COMMAND-aS3Vz5t6BS", "Errors.IDMissing")
|
|
||||||
}
|
|
||||||
existingUser, err := c.getSchemaUserExists(ctx, resourceOwner, userID)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if !existingUser.Exists() {
|
|
||||||
return nil, zerrors.ThrowNotFound(nil, "COMMAND-6T2xrOHxTx", "Errors.User.NotFound")
|
|
||||||
}
|
|
||||||
|
|
||||||
if err := c.checkPermissionUpdateUser(ctx, existingUser.ResourceOwner, existingUser.AggregateID); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
existingSchema, err := c.getSchemaWriteModelByID(ctx, "", existingUser.SchemaID)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if !existingSchema.Exists() {
|
|
||||||
return nil, zerrors.ThrowNotFound(nil, "COMMAND-6T2xrOHxTx", "TODO")
|
|
||||||
}
|
|
||||||
|
|
||||||
//TODO possible authenticators check
|
|
||||||
return existingUser, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func existingSchemaUserWithPermission(ctx context.Context, c *Commands, resourceOwner, userID string) (*UserV3WriteModel, error) {
|
func existingSchemaUserWithPermission(ctx context.Context, c *Commands, resourceOwner, userID string) (*UserV3WriteModel, error) {
|
||||||
if userID == "" {
|
if userID == "" {
|
||||||
return nil, zerrors.ThrowInvalidArgument(nil, "COMMAND-aS3Vz5t6BS", "Errors.IDMissing")
|
return nil, zerrors.ThrowInvalidArgument(nil, "COMMAND-aS3Vz5t6BS", "Errors.IDMissing")
|
||||||
@@ -130,6 +102,6 @@ func existingSchemaUserWithPermission(ctx context.Context, c *Commands, resource
|
|||||||
return nil, zerrors.ThrowNotFound(nil, "COMMAND-6T2xrOHxTx", "TODO")
|
return nil, zerrors.ThrowNotFound(nil, "COMMAND-6T2xrOHxTx", "TODO")
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO possible authenticators check
|
// TODO possible authenticators check
|
||||||
return existingUser, nil
|
return existingUser, nil
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user