DX STF Client API

<back to all web services

GetAuthToken

Auth Requests

Auth

The following routes are available for this service:
POST/api/authentication/tokenGet Bearer access token, contact support for credentials
import 'package:servicestack/servicestack.dart';

class AccessTokenResponse implements IConvertible
{
    String accessToken = "";
    String scope = "";
    String tokenType = "";
    int expiresIn = 0;
    int httpStatusCode = 0;
    String httpErrorReason = "";
    String error = "";

    AccessTokenResponse({this.accessToken,this.scope,this.tokenType,this.expiresIn,this.httpStatusCode,this.httpErrorReason,this.error});
    AccessTokenResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        accessToken = json['accessToken'];
        scope = json['scope'];
        tokenType = json['tokenType'];
        expiresIn = json['expiresIn'];
        httpStatusCode = json['httpStatusCode'];
        httpErrorReason = json['httpErrorReason'];
        error = json['error'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'accessToken': accessToken,
        'scope': scope,
        'tokenType': tokenType,
        'expiresIn': expiresIn,
        'httpStatusCode': httpStatusCode,
        'httpErrorReason': httpErrorReason,
        'error': error
    };

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

/**
* Auth
*/
// @Api(Description="Auth")
// @ApiResponse(Description="Access token response", IsDefaultResponse=true, StatusCode=200)
class GetAuthToken implements IConvertible
{
    /**
    * Post parameters in body
    */
    // @ApiMember(Description="Post parameters in body", ParameterType="model")
    String clientId = "";

    /**
    * Post parameters in body
    */
    // @ApiMember(Description="Post parameters in body", ParameterType="model")
    String clientSecret = "";

    /**
    * Post parameters in body
    */
    // @ApiMember(Description="Post parameters in body", ParameterType="model")
    String scope = "";

    GetAuthToken({this.clientId,this.clientSecret,this.scope});
    GetAuthToken.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        clientId = json['clientId'];
        clientSecret = json['clientSecret'];
        scope = json['scope'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'clientId': clientId,
        'clientSecret': clientSecret,
        'scope': scope
    };

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

TypeContext _ctx = TypeContext(library: 'stf_api_uat.data_xchange.co.za', types: <String, TypeInfo> {
    'AccessTokenResponse': TypeInfo(TypeOf.Class, create:() => AccessTokenResponse()),
    'GetAuthToken': TypeInfo(TypeOf.Class, create:() => GetAuthToken()),
});

Dart GetAuthToken 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 /api/authentication/token HTTP/1.1 
Host: stf-api-uat.data-xchange.co.za 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<GetAuthToken xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/DX.STF.Application.ClientApi.Messages.Authentication">
  <ClientId>String</ClientId>
  <ClientSecret>String</ClientSecret>
  <Scope>String</Scope>
</GetAuthToken>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<AccessTokenResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/DX.STF.Application.ClientApi.ResponseMessages.Authentication">
  <AccessToken>String</AccessToken>
  <Error>String</Error>
  <ExpiresIn>0</ExpiresIn>
  <HttpErrorReason>String</HttpErrorReason>
  <HttpStatusCode>0</HttpStatusCode>
  <Scope>String</Scope>
  <TokenType>String</TokenType>
</AccessTokenResponse>