vw_small

Hardened fork of Vaultwarden (https://github.com/dani-garcia/vaultwarden) with fewer features.
git clone https://git.philomathiclife.com/repos/vw_small
Log | Files | Refs | README

commit b3aab7a6ad70ade47133936a8a4199218f10594b
parent aa8d050d6b277bb9192a305f7401a532d3644460
Author: Daniel GarcĂ­a <dani-garcia@users.noreply.github.com>
Date:   Sun, 27 Nov 2022 22:00:23 +0100

Merge pull request #2920 from BlackDex/issue-2889

Added missing `register` endpoint to `identity`
Diffstat:
Msrc/api/core/accounts.rs | 8++++++--
Msrc/api/identity.rs | 9+++++++--
2 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/src/api/core/accounts.rs b/src/api/core/accounts.rs @@ -42,7 +42,7 @@ pub fn routes() -> Vec<rocket::Route> { #[derive(Deserialize, Debug)] #[allow(non_snake_case)] -struct RegisterData { +pub struct RegisterData { Email: String, Kdf: Option<i32>, KdfIterations: Option<i32>, @@ -82,7 +82,11 @@ fn enforce_password_hint_setting(password_hint: &Option<String>) -> EmptyResult } #[post("/accounts/register", data = "<data>")] -async fn register(data: JsonUpcase<RegisterData>, mut conn: DbConn) -> JsonResult { +async fn register(data: JsonUpcase<RegisterData>, conn: DbConn) -> JsonResult { + _register(data, conn).await +} + +pub async fn _register(data: JsonUpcase<RegisterData>, mut conn: DbConn) -> JsonResult { let data: RegisterData = data.into_inner().data; let email = data.Email.to_lowercase(); diff --git a/src/api/identity.rs b/src/api/identity.rs @@ -9,7 +9,7 @@ use serde_json::Value; use crate::{ api::{ - core::accounts::{PreloginData, _prelogin}, + core::accounts::{PreloginData, RegisterData, _prelogin, _register}, core::two_factor::{duo, email, email::EmailTokenData, yubikey}, ApiResult, EmptyResult, JsonResult, JsonUpcase, }, @@ -20,7 +20,7 @@ use crate::{ }; pub fn routes() -> Vec<Route> { - routes![login, prelogin] + routes![login, prelogin, identity_register] } #[post("/connect/token", data = "<data>")] @@ -434,6 +434,11 @@ async fn prelogin(data: JsonUpcase<PreloginData>, conn: DbConn) -> Json<Value> { _prelogin(data, conn).await } +#[post("/accounts/register", data = "<data>")] +async fn identity_register(data: JsonUpcase<RegisterData>, conn: DbConn) -> JsonResult { + _register(data, conn).await +} + // https://github.com/bitwarden/jslib/blob/master/common/src/models/request/tokenRequest.ts // https://github.com/bitwarden/mobile/blob/master/src/Core/Models/Request/TokenRequest.cs #[derive(Debug, Clone, Default, FromForm)]