public async Task <IActionResult> Login(LogingViewModel loginViewModel) { // validate login if (loginViewModel.ValidationCode != "code") { ModelState.AddModelError("Validation Code", "Validation code is not valid. Use 'code' for Validation Code :-)"); return(View("Index", loginViewModel)); } // username must uniquely identify user. i use email in place of username string cacheKey = await _loggedUsersStorage.SaveLoginAsync(LoggedinUserModel.Create(loginViewModel.Email, loginViewModel.Name, loginViewModel.Email)); Dictionary <string, string> parameters = new Dictionary <string, string> { { "code", cacheKey }, { "state", loginViewModel.State } }; string redirectUrl = QueryHelpers.AddQueryString(loginViewModel.RedirectUrl, parameters); return(Redirect(redirectUrl)); }
public async Task <IActionResult> Login() { CosignLoginResultModel cosignModel = _cosignLoginResultsExtractor.Extract(Request.Query); JObject payload = _tcpBackchannel.Send( cosignModel.Token, _cosignServer.Name, _cosignServer.Port, _cosignClient.Name, _cosignServer.TryCount); LoggedinUserModel loggedinUserModel = _payloadExctractor.Exctract(payload); string cacheKey = await _loggedUsersStorage.SaveLoginAsync(loggedinUserModel); Dictionary <string, string> parameters = new Dictionary <string, string> { { "code", cacheKey }, { "state", cosignModel.State } }; string redirectUrl = QueryHelpers.AddQueryString(cosignModel.RedirectUrl, parameters); return(Redirect(redirectUrl)); }