Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commite486923

Browse files
chore: changes from feedback
1 parent32a8df4 commite486923

File tree

4 files changed

+22
-21
lines changed

4 files changed

+22
-21
lines changed
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
INSERT INTO notification_templates (id, name, title_template, body_template,"group", actions)
2-
VALUES ('62f86a30-2330-4b61-a26d-311ff3b608cf','OneTime Passcode', E'Your onetime passcode is enclosed.',
3-
E'Hi {{.UserName}},\n\nA request to reset the password for your Coder account has been made. Your onetime passcode is:\n\n**{{.Labels.one_time_passcode}}**\n\nIf you did not request to reset your password, you can ignore this message.',
2+
VALUES ('62f86a30-2330-4b61-a26d-311ff3b608cf','One-Time Passcode', E'Your one-time passcode is enclosed.',
3+
E'Hi {{.UserName}},\n\nA request to reset the password for your Coder account has been made. Your one-time passcode is:\n\n**{{.Labels.one_time_passcode}}**\n\nIf you did not request to reset your password, you can ignore this message.',
44
'User Events','[]'::jsonb);

‎coderd/notifications/testdata/rendered-templates/TemplateUserRequestedOneTimePasscode-body.md.golden

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Hi Bobby,
22

3-
A request to reset the password for your Coder account has been made. Your onetime passcode is:
3+
A request to reset the password for your Coder account has been made. Your one-time passcode is:
44

55
**fad9020b-6562-4cdb-87f1-0486f1bea415**
66

Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Your onetime passcode is enclosed.
1+
Your one-time passcode is enclosed.

‎coderd/userauth.go

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ const (
4646
userAuthLoggerName="userauth"
4747
OAuthConvertCookieValue="coder_oauth_convert_jwt"
4848
mergeStateStringPrefix="convert-"
49+
oneTimePasscodeDuration=20*time.Minute
4950
)
5051

5152
typeOAuthConvertStateClaimsstruct {
@@ -202,13 +203,13 @@ func (api *API) postConvertLoginType(rw http.ResponseWriter, r *http.Request) {
202203
})
203204
}
204205

205-
// Requests a one-time-passcode for a user.
206+
// Requests a one-timepasscode for a user.
206207
//
207-
// @Summary Request one-time-passcode.
208+
// @Summary Request one-timepasscode.
208209
// @ID request-one-time-passcode
209210
// @Accept json
210211
// @Tags Authorization
211-
// @Param request body codersdk.RequestOneTimePasscodeRequest true "Request onetime passcode request"
212+
// @Param request body codersdk.RequestOneTimePasscodeRequest true "Request one-time passcode request"
212213
// @Success 200
213214
// @Router /users/request-one-time-passcode [post]
214215
func (api*API)postRequestOneTimePasscode(rw http.ResponseWriter,r*http.Request) {
@@ -243,7 +244,7 @@ func (api *API) postRequestOneTimePasscode(rw http.ResponseWriter, r *http.Reque
243244
rw.WriteHeader(http.StatusOK)
244245
}()
245246

246-
//nolint:gocritic // In order to request a one-time-passcode, we need to get the user first!
247+
//nolint:gocritic // In order to request a one-timepasscode, we need to get the user first - and can only do that in the system auth context.
247248
user,err:=api.Database.GetUserByEmailOrUsername(dbauthz.AsSystemRestricted(ctx), database.GetUserByEmailOrUsernameParams{
248249
Email:req.Email,
249250
})
@@ -254,22 +255,22 @@ func (api *API) postRequestOneTimePasscode(rw http.ResponseWriter, r *http.Reque
254255
aReq.Old=user
255256

256257
passcode:=uuid.New()
257-
passcodeExpiresAt:=dbtime.Now().Add(20*time.Minute)
258+
passcodeExpiresAt:=dbtime.Now().Add(oneTimePasscodeDuration)
258259

259260
hashedPasscode,err:=userpassword.Hash(passcode.String())
260261
iferr!=nil {
261262
logger.Error(ctx,"unable to hash passcode",slog.Error(err))
262263
return
263264
}
264265

265-
//nolint:gocritic // We need to be able to save the one-time-passcode.
266+
//nolint:gocritic // We needthe system auth contextto be able to save the one-timepasscode.
266267
err=api.Database.UpdateUserHashedOneTimePasscode(dbauthz.AsSystemRestricted(ctx), database.UpdateUserHashedOneTimePasscodeParams{
267268
ID:user.ID,
268269
HashedOneTimePasscode: []byte(hashedPasscode),
269270
OneTimePasscodeExpiresAt: sql.NullTime{Time:passcodeExpiresAt,Valid:true},
270271
})
271272
iferr!=nil {
272-
logger.Error(ctx,"unable to set user hashed onetime passcode",slog.Error(err))
273+
logger.Error(ctx,"unable to set user hashed one-time passcode",slog.Error(err))
273274
return
274275
}
275276

@@ -278,16 +279,16 @@ func (api *API) postRequestOneTimePasscode(rw http.ResponseWriter, r *http.Reque
278279
newUser.OneTimePasscodeExpiresAt= sql.NullTime{Time:passcodeExpiresAt,Valid:true}
279280
aReq.New=newUser
280281

281-
// Send the one-time-passcode to the user.
282+
// Send the one-timepasscode to the user.
282283
err=api.notifyUserRequestedOneTimePasscode(ctx,user,passcode.String())
283284
iferr!=nil {
284-
logger.Error(ctx,"unable to notify user about onetime passcode request",slog.Error(err))
285+
logger.Error(ctx,"unable to notify user about one-time passcode request",slog.Error(err))
285286
}
286287
}
287288

288289
func (api*API)notifyUserRequestedOneTimePasscode(ctx context.Context,user database.User,passcodestring)error {
289290
_,err:=api.NotificationsEnqueuer.Enqueue(
290-
//nolint:gocritic // We need to be able to send the user their onetime passcode.
291+
//nolint:gocritic // We needthe system auth contextto be able to send the user their one-time passcode.
291292
dbauthz.AsSystemRestricted(ctx),
292293
user.ID,
293294
notifications.TemplateUserRequestedOneTimePasscode,
@@ -302,9 +303,9 @@ func (api *API) notifyUserRequestedOneTimePasscode(ctx context.Context, user dat
302303
returnnil
303304
}
304305

305-
// Change a users password with a one-time-passcode.
306+
// Change a users password with a one-timepasscode.
306307
//
307-
// @Summary Change password with a one-time-passcode.
308+
// @Summary Change password with a one-timepasscode.
308309
// @ID change-password-with-a-one-time-passcode
309310
// @Accept json
310311
// @Tags Authorization
@@ -338,7 +339,7 @@ func (api *API) postChangePasswordWithOneTimePasscode(rw http.ResponseWriter, r
338339
return
339340
}
340341

341-
//nolint:gocritic // In order to change a user's password, we need to get the user first!
342+
//nolint:gocritic // In order to change a user's password, we need to get the user first - and can only do that in the system auth context.
342343
user,err:=api.Database.GetUserByEmailOrUsername(dbauthz.AsSystemRestricted(ctx), database.GetUserByEmailOrUsernameParams{
343344
Email:req.Email,
344345
})
@@ -361,7 +362,7 @@ func (api *API) postChangePasswordWithOneTimePasscode(rw http.ResponseWriter, r
361362
}
362363

363364
if!equal {
364-
httpapi.Write(ctx,rw,http.StatusUnauthorized, codersdk.Response{
365+
httpapi.Write(ctx,rw,http.StatusBadRequest, codersdk.Response{
365366
Message:"Incorrect email or one-time-passcode.",
366367
})
367368
return
@@ -398,7 +399,7 @@ func (api *API) postChangePasswordWithOneTimePasscode(rw http.ResponseWriter, r
398399
}
399400

400401
err=api.Database.InTx(func(tx database.Store)error {
401-
//nolint:gocritic // We need to update the user's password.
402+
//nolint:gocritic // We needthe system auth context to be ableto update the user's password.
402403
err=tx.UpdateUserHashedPassword(dbauthz.AsSystemRestricted(ctx), database.UpdateUserHashedPasswordParams{
403404
ID:user.ID,
404405
HashedPassword: []byte(newHashedPassword),
@@ -407,7 +408,7 @@ func (api *API) postChangePasswordWithOneTimePasscode(rw http.ResponseWriter, r
407408
returnxerrors.Errorf("update user hashed password: %w",err)
408409
}
409410

410-
//nolint:gocritic // We need to delete all API keys for the user.
411+
//nolint:gocritic // We needthe system auth context to be ableto delete all API keys for the user.
411412
err=tx.DeleteAPIKeysByUserID(dbauthz.AsSystemRestricted(ctx),user.ID)
412413
iferr!=nil {
413414
returnxerrors.Errorf("delete api keys for user: %w",err)
@@ -430,7 +431,7 @@ func (api *API) postChangePasswordWithOneTimePasscode(rw http.ResponseWriter, r
430431
newUser.HashedOneTimePasscode=nil
431432
aReq.New=newUser
432433

433-
rw.WriteHeader(http.StatusNoContent)
434+
rw.WriteHeader(http.StatusOK)
434435
}
435436

436437
// Authenticates the user with an email and password.

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp