INTERNAL-Authorization

<back to all web services

AuthorizeUser

Requires Authentication
The following routes are available for this service:
GET,POST/authorizeuser/{Service}/{Profile}
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Norkart.Api.Authorization.ServiceModel;

namespace Norkart.Api.Authorization.ServiceModel
{
    public partial class AuthorizeBaseResponse
    {
        public AuthorizeBaseResponse()
        {
            Settings = new List<Setting>{};
        }

        public virtual bool IsAuthorized { get; set; }
        public virtual List<Setting> Settings { get; set; }
        public virtual int SuggestedStatusCode { get; set; }
        public virtual string SuggestedResponseMessage { get; set; }
        public virtual string Reason { get; set; }
        public virtual Guid? CustomerId { get; set; }
    }

    public partial class AuthorizeUser
        : IAuthorizeUser
    {
        [ApiMember(IsRequired=true)]
        public virtual string BearerToken { get; set; }

        [ApiMember(IsRequired=true, ParameterType="path")]
        public virtual string Profile { get; set; }

        [ApiMember(IsRequired=true, ParameterType="path")]
        public virtual string Service { get; set; }

        [ApiMember(Name="X-WAAPI-CONTEXT", ParameterType="header")]
        public virtual string CustomerContext { get; set; }
    }

    public partial class AuthorizeUserResponse
        : AuthorizeBaseResponse, IAuthorizeUserResponse
    {
        public virtual Guid? UserObjectId { get; set; }
        public virtual string UserTenant { get; set; }
        public virtual string UserTenantId { get; set; }
    }

    public partial class Setting
    {
        public virtual string Name { get; set; }
        public virtual string StringValue { get; set; }
        public virtual bool BooleanValue { get; set; }
        public virtual string DataType { get; set; }
    }

}

C# AuthorizeUser DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /authorizeuser/{Service}/{Profile} HTTP/1.1 
Host: nkapi-sgepz3-auth.azurewebsites.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	bearerToken: String,
	profile: String,
	service: String,
	customerContext: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	userTenant: String,
	userTenantId: String,
	isAuthorized: False,
	settings: 
	[
		{
			name: String,
			stringValue: String,
			booleanValue: False,
			dataType: String
		}
	],
	suggestedStatusCode: 0,
	suggestedResponseMessage: String,
	reason: String
}