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