INTERNAL-Authorization

<back to all web services

AuthorizeUser

Requires Authentication
The following routes are available for this service:
GET,POST/authorizeuser/{Service}/{Profile}

export class Setting
{
    public name: string;
    public stringValue: string;
    public booleanValue: boolean;
    public dataType: string;

    public constructor(init?: Partial<Setting>) { (Object as any).assign(this, init); }
}

export class AuthorizeBaseResponse
{
    public isAuthorized: boolean;
    public settings: Setting[];
    public suggestedStatusCode: number;
    public suggestedResponseMessage: string;
    public reason: string;
    public customerId?: string;

    public constructor(init?: Partial<AuthorizeBaseResponse>) { (Object as any).assign(this, init); }
}

export class AuthorizeUserResponse extends AuthorizeBaseResponse implements IAuthorizeUserResponse
{
    public userObjectId?: string;
    public userTenant: string;
    public userTenantId: string;

    public constructor(init?: Partial<AuthorizeUserResponse>) { super(init); (Object as any).assign(this, init); }
}

export class AuthorizeUser implements IAuthorizeUser
{
    // @ApiMember(IsRequired=true)
    public bearerToken: string;

    // @ApiMember(IsRequired=true, ParameterType="path")
    public profile: string;

    // @ApiMember(IsRequired=true, ParameterType="path")
    public service: string;

    // @ApiMember(Name="X-WAAPI-CONTEXT", ParameterType="header")
    public customerContext: string;

    public constructor(init?: Partial<AuthorizeUser>) { (Object as any).assign(this, init); }
}

TypeScript 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-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
}