示例#1
0
        // <summary>
        /// Grants that a user is authorized
        /// </summary>
        /// <param name="authorizationRequestDetails">AuthorizationRequestMV with the authorization request details</param>
        public static void grantUserIsAuthorized(AuthorizationRequestMV authorizationRequestMV)
        {
            Task <NotAuthorizedException> grantTask = _grantUserIsAuthorized(authorizationRequestMV);

            grantTask.Wait();
            if (grantTask == null)
            {
                return;
            }
            if (grantTask.Result != null)
            {
                throw grantTask.Result;
            }
        }
示例#2
0
        /// <summary>
        /// Grants thata user is authorized
        /// </summary>
        /// <param name="authorizationRequestDetails">AuthorizationRequestMV with the authorization request details</param>
        public async static Task <NotAuthorizedException> _grantUserIsAuthorized(AuthorizationRequestMV authorizationRequestDetails)
        {
            HttpRequestMessage requestDetails = new HttpRequestMessage(HttpMethod.Get, string.Format("/myca/api/autho?manager={0}", authorizationRequestDetails.userIsContentManager));

            requestDetails.Headers.Add("User-Agent", authorizationRequestDetails.userUserAgent);
            requestDetails.Headers.Add("Cookie", authorizationRequestDetails.userSessionCookie);
            requestDetails.Headers.Add("Secrete", authorizationRequestDetails.userSecreteKey);
            var response = await MYCA_CLIENT.SendAsync(requestDetails);

            AuthorizationResponse responseBody = null;

            try{
                responseBody = await response.Content.ReadAsAsync <AuthorizationResponse>();
            }catch (Exception) {
                return(new NotAuthorizedException("An unexpected error occurd :("));
            }
            if (response.StatusCode != HttpStatusCode.NoContent)
            {
                return(new NotAuthorizedException(responseBody.message));
            }
            return(null);
        }