/* Ċ Ġ* Ġspring - message - board - demo Ċ Ġ* ĠRefer Ġto ĠLIC ENCE . txt Ġfor Ġlicence Ġdetails . Ċ Ġ*/ Ċ package Ġcom . github . fj . board . endpoint . v 1 . auth . request Ċ Ċ import Ġcom . fasterxml . jackson . annotation . JsonProperty Ċ import Ġcom . fasterxml . jackson . annotation . JsonProperty Description Ċ import Ġcom . fasterxml . jackson . databind . annotation . Json Deserialize Ċ import Ġcom . github . fj . board . persistence . entity . auth . Authentication Ċ import Ġcom . github . fj . board . persistence . model . auth . Platform Type Ċ import Ġcom . github . fj . board . validation . Protected Property Size Ċ import Ġcom . github . fj . board . vo . auth . Client Auth Info Ċ import Ġcom . github . fj . lib . util . Protected Property Ċ import Ġde . sk uzzle . semantic . Version Ċ import Ġjavax . servlet . http . HttpServletRequest Ċ import Ġjavax . validation . constraints . Pattern Ċ Ċ /** Ċ Ġ* ĠA Ġsign - up Ġrequest Ġto Ġcreate Ġboth ĠAuthentication Ġand ĠUser Ġobject . Ċ Ġ* Ċ Ġ* Ġ@ author ĠFr ances co ĠJo ( nim bus ob @ gmail . com ) Ċ Ġ* Ġ@ since Ġ 2 9 Ġ- ĠJun Ġ- Ġ 2 0 2 0 Ċ Ġ*/ Ċ @ Json Deserialize Ċ data Ġclass ĠAuthentication Request ( ĊĠĠĠ Ġ@ JsonProperty ĊĠĠĠ Ġ@ JsonProperty Description ( DESC _ LOGIN _ NAME ) ĊĠĠĠ Ġ@ get : Pattern ( ĊĠĠĠĠĠĠĠ Ġregexp Ġ= Ġ"^ [ A - Za - z 0 - 9 ] {$ LOGIN _ NAME _ SIZE _ MIN ,$ LOGIN _ NAME _ SIZE _ MAX }\ $", ĊĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ"` login Name ` Ġmust Ġbetween Ġ$ LOGIN _ NAME _ SIZE _ MIN Ġand Ġ$ LOGIN _ NAME _ SIZE _ MAX Ġal phanumeric Ġcharacters ." ĊĠĠĠ Ġ) ĊĠĠĠ Ġval Ġlogin Name : ĠString , ĊĊĠĠĠ Ġ@ JsonProperty ĊĠĠĠ Ġ@ JsonProperty Description ( DESC _ PASSWORD ) ĊĠĠĠ Ġ@ get : Protected Property Size ( ĊĠĠĠĠĠĠĠ Ġmin Ġ= ĠPASSWORD _ SIZE , ĊĠĠĠĠĠĠĠ Ġmax Ġ= ĠPASSWORD _ SIZE , ĊĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ"` password ` Ġmust Ġbe Ġhex Ġencoded , Ġ 4 0 Ġcharacters Ġlong ." ĊĠĠĠ Ġ) ĊĠĠĠ Ġval Ġpassword : ĠProtected Property < String >, ĊĊĠĠĠ Ġ@ JsonProperty ĊĠĠĠ Ġ@ JsonProperty Description ( DESC _ PLATFORM _ TYPE ) ĊĠĠĠ Ġval Ġplatform Type : ĠPlatform Type , ĊĊĠĠĠ Ġ@ JsonProperty ĊĠĠĠ Ġ@ JsonProperty Description ( DESC _ PLATFORM _ VERSION ) ĊĠĠĠ Ġval Ġplatform Version : ĠString , ĊĊĠĠĠ Ġ@ JsonProperty ĊĠĠĠ Ġ@ JsonProperty Description ( DESC _ APP _ VERSION ) ĊĠĠĠ Ġval Ġapp Version : ĠVersion Ċ ) Ġ{ ĊĠĠĠ Ġfun Ġcreate Client Auth Info By ( http Req : ĠHttpServletRequest ) Ġ= ĠClient Auth Info . create ( login Name , Ġhttp Req ) ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠLOGIN _ NAME _ SIZE _ MIN Ġ= ĠAuthentication . LOGIN _ NAME _ SIZE _ MIN ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠLOGIN _ NAME _ SIZE _ MAX Ġ= ĠAuthentication . LOGIN _ NAME _ SIZE _ MAX ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPASSWORD _ SIZE Ġ= ĠAuthentication . PASSWORD _ SIZE ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠDESC _ LOGIN _ NAME Ġ= Ġ" A Ġunique Ġlogin Ġname Ġto Ġdistinguish Ġusers . Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Must Ġbetween Ġ$ LOGIN _ NAME _ SIZE _ MIN Ġand Ġ$ LOGIN _ NAME _ SIZE _ MAX Ġal phanumeric Ġcharacters ." ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠDESC _ PASSWORD Ġ= Ġ" A Ġsha - 1 Ġencoded Ġpassword Ġto Ġget Ġaccess Ġto Ġservice . ĠMust Ġbe Ġhex Ġencoded , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 4 0 Ġcharacters Ġlong . ĠDo Ġnot Ġsend Ġany Ġplaintext Ġfor Ġthis Ġfield ." ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠDESC _ PLATFORM _ TYPE Ġ= Ġ" Client Ġplatform Ġtype . ĠRead Ġlink :# common - types - platform Type [` Platform Type `] Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" for Ġmore Ġdetails ." ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠDESC _ PLATFORM _ VERSION Ġ= Ġ" Version Ġstring Ġof Ġclient Ġsystem ." ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠDESC _ APP _ VERSION Ġ= Ġ" Semantic Ġversioning Ġformat Ġencoded Ġclient Ġapp Ġversion . Ġ" ĊĠĠĠ Ġ} Ċ } Ċ