feat: implement api for "forgot password?" flow (#14915)

Relates to https://github.com/coder/coder/issues/14232

This implements two endpoints (names subject to change):
- `/api/v2/users/otp/request`
- `/api/v2/users/otp/change-password`
This commit is contained in:
Danielle Maywood
2024-10-04 11:53:25 +01:00
committed by GitHub
parent 8785a51b09
commit 4369f2b4b5
25 changed files with 1007 additions and 4 deletions

88
coderd/apidoc/docs.go generated
View File

@ -5253,6 +5253,62 @@ const docTemplate = `{
}
}
},
"/users/otp/change-password": {
"post": {
"consumes": [
"application/json"
],
"tags": [
"Authorization"
],
"summary": "Change password with a one-time passcode",
"operationId": "change-password-with-a-one-time-passcode",
"parameters": [
{
"description": "Change password request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/codersdk.ChangePasswordWithOneTimePasscodeRequest"
}
}
],
"responses": {
"204": {
"description": "No Content"
}
}
}
},
"/users/otp/request": {
"post": {
"consumes": [
"application/json"
],
"tags": [
"Authorization"
],
"summary": "Request one-time passcode",
"operationId": "request-one-time-passcode",
"parameters": [
{
"description": "One-time passcode request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/codersdk.RequestOneTimePasscodeRequest"
}
}
],
"responses": {
"204": {
"description": "No Content"
}
}
}
},
"/users/roles": {
"get": {
"security": [
@ -9293,6 +9349,26 @@ const docTemplate = `{
"BuildReasonAutostop"
]
},
"codersdk.ChangePasswordWithOneTimePasscodeRequest": {
"type": "object",
"required": [
"email",
"one_time_passcode",
"password"
],
"properties": {
"email": {
"type": "string",
"format": "email"
},
"one_time_passcode": {
"type": "string"
},
"password": {
"type": "string"
}
}
},
"codersdk.ConnectionLatency": {
"type": "object",
"properties": {
@ -12306,6 +12382,18 @@ const docTemplate = `{
}
}
},
"codersdk.RequestOneTimePasscodeRequest": {
"type": "object",
"required": [
"email"
],
"properties": {
"email": {
"type": "string",
"format": "email"
}
}
},
"codersdk.ResolveAutostartResponse": {
"type": "object",
"properties": {