@ -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) ]