Skip to content

Commit

Permalink
reset token (#820, #834)
Browse files Browse the repository at this point in the history
  • Loading branch information
michaelquigley committed Feb 4, 2025
1 parent 47421e6 commit 8f86829
Show file tree
Hide file tree
Showing 10 changed files with 41 additions and 41 deletions.
22 changes: 11 additions & 11 deletions controller/resetPassword.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,28 +19,28 @@ func newResetPasswordHandler(cfg *config.Config) *resetPasswordHandler {
}

func (handler *resetPasswordHandler) Handle(params account.ResetPasswordParams) middleware.Responder {
if params.Body.Token == "" || params.Body.Password == "" {
if params.Body.ResetToken == "" || params.Body.Password == "" {
logrus.Error("missing token or password")
return account.NewResetPasswordNotFound()
}
logrus.Infof("received password reset request for token '%v'", params.Body.Token)
logrus.Infof("received password reset request for reset token '%v'", params.Body.ResetToken)

tx, err := str.Begin()
if err != nil {
logrus.Errorf("error starting transaction for '%v': %v", params.Body.Token, err)
logrus.Errorf("error starting transaction for '%v': %v", params.Body.ResetToken, err)
return account.NewResetPasswordInternalServerError()
}
defer func() { _ = tx.Rollback() }()

prr, err := str.FindPasswordResetRequestWithToken(params.Body.Token, tx)
prr, err := str.FindPasswordResetRequestWithToken(params.Body.ResetToken, tx)
if err != nil {
logrus.Errorf("error finding reset request for '%v': %v", params.Body.Token, err)
logrus.Errorf("error finding reset request for reset token '%v': %v", params.Body.ResetToken, err)
return account.NewResetPasswordNotFound()
}

a, err := str.GetAccount(prr.AccountId, tx)
if err != nil {
logrus.Errorf("error finding account for '%v': %v", params.Body.Token, err)
logrus.Errorf("error finding account for reset token '%v': %v", params.Body.ResetToken, err)
return account.NewResetPasswordNotFound()
}
if a.Deleted {
Expand All @@ -49,30 +49,30 @@ func (handler *resetPasswordHandler) Handle(params account.ResetPasswordParams)
}

if err := validatePassword(handler.cfg, params.Body.Password); err != nil {
logrus.Errorf("password not valid for request '%v', (%v): %v", params.Body.Token, a.Email, err)
logrus.Errorf("password not valid for reset token '%v', (%v): %v", params.Body.ResetToken, a.Email, err)
return account.NewResetPasswordUnprocessableEntity().WithPayload(rest_model_zrok.ErrorMessage(err.Error()))
}

hpwd, err := HashPassword(params.Body.Password)
if err != nil {
logrus.Errorf("error hashing password for '%v' (%v): %v", params.Body.Token, a.Email, err)
logrus.Errorf("error hashing password for '%v' (%v): %v", params.Body.ResetToken, a.Email, err)
return account.NewResetPasswordRequestInternalServerError()
}
a.Salt = hpwd.Salt
a.Password = hpwd.Password

if _, err := str.UpdateAccount(a, tx); err != nil {
logrus.Errorf("error updating for '%v' (%v): %v", params.Body.Token, a.Email, err)
logrus.Errorf("error updating for reset token '%v' (%v): %v", params.Body.ResetToken, a.Email, err)
return account.NewResetPasswordInternalServerError()
}

if err := str.DeletePasswordResetRequest(prr.Id, tx); err != nil {
logrus.Errorf("error deleting reset request '%v' (%v): %v", params.Body.Token, a.Email, err)
logrus.Errorf("error deleting reset request for reset token '%v' (%v): %v", params.Body.ResetToken, a.Email, err)
return account.NewResetPasswordInternalServerError()
}

if err := tx.Commit(); err != nil {
logrus.Errorf("error committing '%v' (%v): %v", params.Body.Token, a.Email, err)
logrus.Errorf("error committing for reset token '%v' (%v): %v", params.Body.ResetToken, a.Email, err)
return account.NewResetPasswordInternalServerError()
}

Expand Down
4 changes: 2 additions & 2 deletions rest_client_zrok/account/reset_password_responses.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions rest_server_zrok/embedded_spec.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions rest_server_zrok/operations/account/reset_password.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions sdk/nodejs/sdk/src/zrok/api/model/resetPasswordRequest.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,15 @@
import { RequestFile } from './models';

export class ResetPasswordRequest {
'token'?: string;
'resetToken'?: string;
'password'?: string;

static discriminator: string | undefined = undefined;

static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
{
"name": "token",
"baseName": "token",
"name": "resetToken",
"baseName": "resetToken",
"type": "string"
},
{
Expand Down
2 changes: 1 addition & 1 deletion sdk/python/sdk/zrok/docs/ResetPasswordBody.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**token** | **str** | | [optional]
**reset_token** | **str** | | [optional]
**password** | **str** | | [optional]

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
Expand Down
30 changes: 15 additions & 15 deletions sdk/python/sdk/zrok/zrok_api/models/reset_password_body.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,45 +28,45 @@ class ResetPasswordBody(object):
and the value is json key in definition.
"""
swagger_types = {
'token': 'str',
'reset_token': 'str',
'password': 'str'
}

attribute_map = {
'token': 'token',
'reset_token': 'resetToken',
'password': 'password'
}

def __init__(self, token=None, password=None): # noqa: E501
def __init__(self, reset_token=None, password=None): # noqa: E501
"""ResetPasswordBody - a model defined in Swagger""" # noqa: E501
self._token = None
self._reset_token = None
self._password = None
self.discriminator = None
if token is not None:
self.token = token
if reset_token is not None:
self.reset_token = reset_token
if password is not None:
self.password = password

@property
def token(self):
"""Gets the token of this ResetPasswordBody. # noqa: E501
def reset_token(self):
"""Gets the reset_token of this ResetPasswordBody. # noqa: E501
:return: The token of this ResetPasswordBody. # noqa: E501
:return: The reset_token of this ResetPasswordBody. # noqa: E501
:rtype: str
"""
return self._token
return self._reset_token

@token.setter
def token(self, token):
"""Sets the token of this ResetPasswordBody.
@reset_token.setter
def reset_token(self, reset_token):
"""Sets the reset_token of this ResetPasswordBody.
:param token: The token of this ResetPasswordBody. # noqa: E501
:param reset_token: The reset_token of this ResetPasswordBody. # noqa: E501
:type: str
"""

self._token = token
self._reset_token = reset_token

@property
def password(self):
Expand Down
2 changes: 1 addition & 1 deletion specs/zrok.yml
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ paths:
in: body
schema:
properties:
token:
resetToken:
type: string
password:
type: string
Expand Down
2 changes: 1 addition & 1 deletion ui/src/ResetPassword.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ const ResetPassword = () => {
const [component, setComponent] = useState<React.JSX.Element>();

const doReset = (v) => {
new AccountApi().resetPassword({body: {token: resetToken, password: v.password}})
new AccountApi().resetPassword({body: {resetToken: resetToken, password: v.password}})
.then(() => {
setComponent(<ResetComplete />);
})
Expand Down
6 changes: 3 additions & 3 deletions ui/src/api/models/ResetPasswordRequest.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ export interface ResetPasswordRequest {
* @type {string}
* @memberof ResetPasswordRequest
*/
token?: string;
resetToken?: string;
/**
*
* @type {string}
Expand All @@ -50,7 +50,7 @@ export function ResetPasswordRequestFromJSONTyped(json: any, ignoreDiscriminator
}
return {

'token': json['token'] == null ? undefined : json['token'],
'resetToken': json['resetToken'] == null ? undefined : json['resetToken'],
'password': json['password'] == null ? undefined : json['password'],
};
}
Expand All @@ -61,7 +61,7 @@ export function ResetPasswordRequestToJSON(value?: ResetPasswordRequest | null):
}
return {

'token': value['token'],
'resetToken': value['resetToken'],
'password': value['password'],
};
}
Expand Down

0 comments on commit 8f86829

Please sign in to comment.