public TokenRequest CreateTokenRequest(string codeVerify, AutenticateResponse autenticateResponse) { return(new TokenRequest { CodeChallenge = codeVerify, AutenticateCode = autenticateResponse.Code }); }
private AutenticateResponse ProcessResponseAutenticate(string authenticateResponse) { AutenticateResponse response = new AutenticateResponse { Code = GetCode(authenticateResponse) }; string code = JsonConvert.SerializeObject(response); return(JsonConvert.DeserializeObject <AutenticateResponse>(code)); }
private void Login(string user, string password) { string codeVerify = cryptographic.GenerateRandomValue(64); string codeChallenge = cryptographic.EncryptValue(codeVerify); UserMsg = "Autorizando..."; AuthorizeResponse authorizeResponse = Repository.Authorize(codeChallenge); AutenticateRequest autenticateRequest = CreateAutenticateRequest("C", user, password, authorizeResponse.SessionId); UserMsg = "Autenticando..."; AutenticateResponse autenticateResponse = GetAutenticateResponse(autenticateRequest); TokenRequest tokenRequest = CreateTokenRequest(codeVerify, autenticateResponse); UserMsg = "Obteniendo token..."; TokenResponse tokenResponse = Repository.Token(tokenRequest); StoreResponse(tokenResponse); }
private AutenticateResponse GetAutenticateResponse(AutenticateRequest autenticateRequest) { string codeResponse = Repository.Autenticate(autenticateRequest); AutenticateResponse autenticateResponse = null; bool codeResponseValid = !string.IsNullOrEmpty(codeResponse) && codeResponse.Contains("sura://appsegurossura?code="); if (codeResponseValid) { autenticateResponse = ProcessResponseAutenticate(codeResponse); } if (!codeResponseValid) { throw new Exception(codeResponse.ToString()); } if ((autenticateResponse == null && string.IsNullOrEmpty(autenticateResponse.Code))) { throw new Exception("Respuesta de autenticación nula"); } return(autenticateResponse); }