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