INTERNAL-Authorization

<back to all web services

AuthorizeUser

Requires Authentication
The following routes are available for this service:
GET,POST/authorizeuser/{Service}/{Profile}
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Setting:
    name: Optional[str] = None
    string_value: Optional[str] = None
    boolean_value: bool = False
    data_type: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AuthorizeBaseResponse:
    is_authorized: bool = False
    settings: Optional[List[Setting]] = None
    suggested_status_code: int = 0
    suggested_response_message: Optional[str] = None
    reason: Optional[str] = None
    customer_id: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AuthorizeUserResponse(AuthorizeBaseResponse, IAuthorizeUserResponse):
    user_object_id: Optional[str] = None
    user_tenant: Optional[str] = None
    user_tenant_id: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AuthorizeUser(IAuthorizeUser):
    # @ApiMember(IsRequired=true)
    bearer_token: Optional[str] = None

    # @ApiMember(IsRequired=true, ParameterType="path")
    profile: Optional[str] = None

    # @ApiMember(IsRequired=true, ParameterType="path")
    service: Optional[str] = None

    # @ApiMember(Name="X-WAAPI-CONTEXT", ParameterType="header")
    customer_context: Optional[str] = None

Python AuthorizeUser DTOs

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

HTTP + XML

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: application/xml
Content-Type: application/xml
Content-Length: length

<AuthorizeUser xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Norkart.Api.Authorization.ServiceModel">
  <BearerToken>String</BearerToken>
  <CustomerContext>String</CustomerContext>
  <Profile>String</Profile>
  <Service>String</Service>
</AuthorizeUser>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<AuthorizeUserResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Norkart.Api.Authorization.ServiceModel">
  <CustomerId i:nil="true" />
  <IsAuthorized>false</IsAuthorized>
  <Reason>String</Reason>
  <Settings>
    <Setting>
      <BooleanValue>false</BooleanValue>
      <DataType>String</DataType>
      <Name>String</Name>
      <StringValue>String</StringValue>
    </Setting>
  </Settings>
  <SuggestedResponseMessage>String</SuggestedResponseMessage>
  <SuggestedStatusCode>0</SuggestedStatusCode>
  <UserObjectId i:nil="true" />
  <UserTenant>String</UserTenant>
  <UserTenantId>String</UserTenantId>
</AuthorizeUserResponse>