|
@ -9,7 +9,7 @@ use serde_json::Value; |
|
|
|
|
|
|
|
|
use crate::{ |
|
|
use crate::{ |
|
|
api::{ |
|
|
api::{ |
|
|
core::accounts::{PreloginData, _prelogin}, |
|
|
core::accounts::{PreloginData, RegisterData, _prelogin, _register}, |
|
|
core::two_factor::{duo, email, email::EmailTokenData, yubikey}, |
|
|
core::two_factor::{duo, email, email::EmailTokenData, yubikey}, |
|
|
ApiResult, EmptyResult, JsonResult, JsonUpcase, |
|
|
ApiResult, EmptyResult, JsonResult, JsonUpcase, |
|
|
}, |
|
|
}, |
|
@ -20,7 +20,7 @@ use crate::{ |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
pub fn routes() -> Vec<Route> { |
|
|
pub fn routes() -> Vec<Route> { |
|
|
routes![login, prelogin] |
|
|
routes![login, prelogin, identity_register] |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
#[post("/connect/token", data = "<data>")] |
|
|
#[post("/connect/token", data = "<data>")] |
|
@ -434,6 +434,11 @@ async fn prelogin(data: JsonUpcase<PreloginData>, conn: DbConn) -> Json<Value> { |
|
|
_prelogin(data, conn).await |
|
|
_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/jslib/blob/master/common/src/models/request/tokenRequest.ts
|
|
|
// https://github.com/bitwarden/mobile/blob/master/src/Core/Models/Request/TokenRequest.cs
|
|
|
// https://github.com/bitwarden/mobile/blob/master/src/Core/Models/Request/TokenRequest.cs
|
|
|
#[derive(Debug, Clone, Default, FromForm)] |
|
|
#[derive(Debug, Clone, Default, FromForm)] |
|
|