mirror of
https://github.com/openziti/zrok.git
synced 2025-08-27 23:31:58 +02:00
@@ -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 {
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
|
@@ -297,8 +297,8 @@ type ResetPasswordBody struct {
|
||||
// password
|
||||
Password string `json:"password,omitempty"`
|
||||
|
||||
// token
|
||||
Token string `json:"token,omitempty"`
|
||||
// reset token
|
||||
ResetToken string `json:"resetToken,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this reset password body
|
||||
|
@@ -1490,7 +1490,7 @@ func init() {
|
||||
"password": {
|
||||
"type": "string"
|
||||
},
|
||||
"token": {
|
||||
"resetToken": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
@@ -3636,7 +3636,7 @@ func init() {
|
||||
"password": {
|
||||
"type": "string"
|
||||
},
|
||||
"token": {
|
||||
"resetToken": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
|
@@ -66,8 +66,8 @@ type ResetPasswordBody struct {
|
||||
// password
|
||||
Password string `json:"password,omitempty"`
|
||||
|
||||
// token
|
||||
Token string `json:"token,omitempty"`
|
||||
// reset token
|
||||
ResetToken string `json:"resetToken,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this reset password body
|
||||
|
@@ -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"
|
||||
},
|
||||
{
|
||||
|
@@ -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)
|
||||
|
@@ -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):
|
||||
|
@@ -161,7 +161,7 @@ paths:
|
||||
in: body
|
||||
schema:
|
||||
properties:
|
||||
token:
|
||||
resetToken:
|
||||
type: string
|
||||
password:
|
||||
type: string
|
||||
|
@@ -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 />);
|
||||
})
|
||||
|
@@ -24,7 +24,7 @@ export interface ResetPasswordRequest {
|
||||
* @type {string}
|
||||
* @memberof ResetPasswordRequest
|
||||
*/
|
||||
token?: string;
|
||||
resetToken?: string;
|
||||
/**
|
||||
*
|
||||
* @type {string}
|
||||
@@ -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'],
|
||||
};
|
||||
}
|
||||
@@ -61,7 +61,7 @@ export function ResetPasswordRequestToJSON(value?: ResetPasswordRequest | null):
|
||||
}
|
||||
return {
|
||||
|
||||
'token': value['token'],
|
||||
'resetToken': value['resetToken'],
|
||||
'password': value['password'],
|
||||
};
|
||||
}
|
||||
|
Reference in New Issue
Block a user