INTERNAL-Authorization

<back to all web services

AuthorizeUserFast

Requires Authentication
The following routes are available for this service:
POST/authorizeuserfast/{Service}/{Profile}
import 'package:servicestack/servicestack.dart';

class AuthorizeFastBaseResponse implements IConvertible
{
    bool? isAuthorized;
    Map<String,String?>? settings;
    int? suggestedStatusCode;
    String? suggestedResponseMessage;
    String? reason;
    String? customerId;

    AuthorizeFastBaseResponse({this.isAuthorized,this.settings,this.suggestedStatusCode,this.suggestedResponseMessage,this.reason,this.customerId});
    AuthorizeFastBaseResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        isAuthorized = json['isAuthorized'];
        settings = JsonConverters.toStringMap(json['settings']);
        suggestedStatusCode = json['suggestedStatusCode'];
        suggestedResponseMessage = json['suggestedResponseMessage'];
        reason = json['reason'];
        customerId = json['customerId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'isAuthorized': isAuthorized,
        'settings': settings,
        'suggestedStatusCode': suggestedStatusCode,
        'suggestedResponseMessage': suggestedResponseMessage,
        'reason': reason,
        'customerId': customerId
    };

    getTypeName() => "AuthorizeFastBaseResponse";
    TypeContext? context = _ctx;
}

class AuthorizeUserFastResponse extends AuthorizeFastBaseResponse implements IAuthorizeUserResponse, IConvertible
{
    String? userObjectId;
    String? userTenant;
    String? userTenantId;

    AuthorizeUserFastResponse({this.userObjectId,this.userTenant,this.userTenantId});
    AuthorizeUserFastResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        userObjectId = json['userObjectId'];
        userTenant = json['userTenant'];
        userTenantId = json['userTenantId'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'userObjectId': userObjectId,
        'userTenant': userTenant,
        'userTenantId': userTenantId
    });

    getTypeName() => "AuthorizeUserFastResponse";
    TypeContext? context = _ctx;
}

class AuthorizeUserFast implements IAuthorizeUser, IConvertible
{
    String? bearerToken;
    String? customerContext;
    // @ApiMember(ExcludeInSchema=true, IsRequired=true, ParameterType="path")
    String? profile;

    // @ApiMember(ExcludeInSchema=true, IsRequired=true, ParameterType="path")
    String? service;

    AuthorizeUserFast({this.bearerToken,this.customerContext,this.profile,this.service});
    AuthorizeUserFast.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        bearerToken = json['bearerToken'];
        customerContext = json['customerContext'];
        profile = json['profile'];
        service = json['service'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'bearerToken': bearerToken,
        'customerContext': customerContext,
        'profile': profile,
        'service': service
    };

    getTypeName() => "AuthorizeUserFast";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'nkapi_sgepz3_auth_r1.azurewebsites.net', types: <String, TypeInfo> {
    'AuthorizeFastBaseResponse': TypeInfo(TypeOf.Class, create:() => AuthorizeFastBaseResponse()),
    'AuthorizeUserFastResponse': TypeInfo(TypeOf.Class, create:() => AuthorizeUserFastResponse()),
    'AuthorizeUserFast': TypeInfo(TypeOf.Class, create:() => AuthorizeUserFast()),
});

Dart AuthorizeUserFast 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 /authorizeuserfast/{Service}/{Profile} HTTP/1.1 
Host: nkapi-sgepz3-auth-r1.azurewebsites.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

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

{
	userTenant: String,
	userTenantId: String,
	isAuthorized: False,
	settings: 
	{
		String: String
	},
	suggestedStatusCode: 0,
	suggestedResponseMessage: String,
	reason: String
}