Start the registration process, will result in an email being sent to the provided email
POST
request
email
password
session
response
access_token
scope
auth:verify
auth:cancelRegistration
Implementation
flowchart TD
%%actors%%
db[(Database)]
user([User])
email_server([SMTP server])
browser([Browser])
%%actions%%
start_register[[Start registration]]
%%steps%%
check_email_used{{Check if email is already in use}}
check_if_session_valid{{Check if session is valid}}
return_error{{Return error}}
hash_password{{Hash password}}
insert_user{{Insert user}}
update_session{{Update session with new information}}
send_email{{Send email with verification code}}
create_verification_code{{Create verification code}}
redirect_user{{Redirect user}}
return_session{{Return session}}
%%graph%%
user-->start_register
subgraph Server
start_register-->check_if_session_valid
check_if_session_valid-- valid -->check_email_used
check_if_session_valid-- not valid -->return_error
check_email_used-- Email already used -->return_error
check_email_used-- Email not used -->hash_password
hash_password-->create_verification_code
create_verification_code-->insert_user
insert_user-->send_email
send_email-->update_session
update_session-->return_session
return_session-- Redirect to verify with token and state -->redirect_user
return_error-- Redirect with error -->redirect_user
end
send_email-->email_server
insert_user-->db
check_email_used---db
redirect_user-->browser
public /api/v%version%/auth/register
Start the registration process, will result in an email being sent to the provided email
POST
Implementation