Exemple #1
0
 public TokenRequest CreateTokenRequest(string codeVerify, AutenticateResponse autenticateResponse)
 {
     return(new TokenRequest
     {
         CodeChallenge = codeVerify,
         AutenticateCode = autenticateResponse.Code
     });
 }
Exemple #2
0
        private AutenticateResponse ProcessResponseAutenticate(string authenticateResponse)
        {
            AutenticateResponse response = new AutenticateResponse
            {
                Code = GetCode(authenticateResponse)
            };

            string code = JsonConvert.SerializeObject(response);

            return(JsonConvert.DeserializeObject <AutenticateResponse>(code));
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }