public SignInUserResponse SignInUser(SignInUserRequest request)
        {
            SignInUserResponse response = new SignInUserResponse();

            GimAuthenticateRequest gimAuthenticateRequest = new GimAuthenticateRequest {
                Email                    = request.Login,
                Password                 = request.Password,
                ApplicationKey           = this._gimSettings.Value.ApplicationKey,
                TokenExpirationInMinutes = this._gimSettings.Value.TokenExpirationInMinutes
            };

            // AutenticaĆ§Ć£o realizada pelo GIM.
            GimAuthenticateResponse gimAuthenticateResponse = new GimConnector(this._gimSettings).Authenticate(gimAuthenticateRequest);

            if (gimAuthenticateResponse.Success == false)
            {
                foreach (GimReport report in gimAuthenticateResponse.OperationReport)
                {
                    response.OperationReport.Add(new Report {
                        Field = report.Field, Message = report.Message
                    });
                }

                response.StatusCode = gimAuthenticateResponse.StatusCode;
                return(response);
            }

            response.AuthenticationToken      = gimAuthenticateResponse.AuthenticationToken;
            response.TokenExpirationInMinutes = gimAuthenticateResponse.TokenExpirationInMinutes;
            response.UserKey    = gimAuthenticateResponse.UserKey;
            response.Name       = gimAuthenticateResponse.Name;
            response.Success    = gimAuthenticateResponse.Success;
            response.StatusCode = gimAuthenticateResponse.StatusCode;
            return(response);
        }
Example #2
0
        public GimAuthenticateResponse Authenticate(GimAuthenticateRequest request)
        {
            GimAuthenticateResponse response = new GimAuthenticateResponse();

            try {
                RestClient restClient = new RestClient(this._gimSettings.Value.ProductionDomain);

                RestRequest restRequest = new RestRequest(this._gimSettings.Value.AuthenticateEndpoint, Method.POST);

                string contentAsJson = JsonConvert.SerializeObject(request);

                restRequest.AddParameter("application/json; charset=utf-8", contentAsJson, ParameterType.RequestBody);

                restRequest.RequestFormat = DataFormat.Json;

                IRestResponse restResponse = restClient.Execute(restRequest);

                response = JsonConvert.DeserializeObject <GimAuthenticateResponse>(restResponse.Content);
            }
            catch (Exception e) {
                response.OperationReport.Add(new GimReport {
                    Field = e.TargetSite.DeclaringType.ToString(), Message = e.Message
                });
                response.StatusCode = (int)HttpStatusCode.InternalServerError;
                return(response);
            }

            return(response);
        }