Example #1
0
        internal HttpMessage CreateCheckPrincipalAccessRequest(SubjectInfo subject, IEnumerable <RequiredAction> actions, string scope)
        {
            var message = _pipeline.CreateMessage();
            var request = message.Request;

            request.Method = RequestMethod.Post;
            var uri = new RawRequestUriBuilder();

            uri.AppendRaw(endpoint, false);
            uri.AppendPath("/checkAccessSynapseRbac", false);
            uri.AppendQuery("api-version", apiVersion, true);
            request.Uri = uri;
            request.Headers.Add("Accept", "application/json, text/json");
            request.Headers.Add("Content-Type", "application/json");
            var model   = new CheckPrincipalAccessRequest(subject, actions, scope);
            var content = new Utf8JsonRequestContent();

            content.JsonWriter.WriteObjectValue(model);
            request.Content = content;
            return(message);
        }
        /// <summary> Check if the given principalId has access to perform list of actions at a given scope. </summary>
        /// <param name="checkAccessRequest"></param>
        public virtual async Task <Response <CheckPrincipalAccessResponse> > CheckPrincipalAccessAsync(CheckPrincipalAccessRequest checkAccessRequest)
        {
            Response response = await CheckPrincipalAccessAsync(checkAccessRequest, default).ConfigureAwait(false);

            return(Response.FromValue((CheckPrincipalAccessResponse)response, response));
        }
        /// <summary> Check if the given principalId has access to perform list of actions at a given scope. </summary>
        /// <param name="checkAccessRequest"></param>
        public virtual Response <CheckPrincipalAccessResponse> CheckPrincipalAccess(CheckPrincipalAccessRequest checkAccessRequest)
        {
            Response response = CheckPrincipalAccess(checkAccessRequest, default);

            return(Response.FromValue((CheckPrincipalAccessResponse)response, response));
        }