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; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=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-r1.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 }