public async Task <IActionResult> ConfirmEmail([FromBody] ConfirmEmailModel model) { try { var dataJsonBytes = Base64UrlTextEncoder.Decode(model.Token); var dataJson = Encoding.UTF8.GetString(dataJsonBytes); var data = JsonConvert.DeserializeObject <Token>(dataJson); await _authenticateService.ConfirmEmail(data.Email, data.Hash); var response = new Response { Status = 200 }; return(Ok(response)); } catch (Exception e) when(e is InvalidUserException || e is InvalidTokenException) { return(Ok(new Response { Status = 403, Message = e.Message })); } catch { return(Ok(new Response { Status = 500, Message = "Internal Server Error." })); } }