AlbaApi

<back to all web services

ValidateNemIdRequestModel

The following routes are available for this service:
GET/nemidvalidatelogin
namespace AlbaApi.Model

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type ValidateNemIdRequestModel() = 
        class end

    [<AllowNullLiteral>]
    type Body() = 
        class end

    [<AllowNullLiteral>]
    type FlowMessage() = 
        inherit Body()
        member val Timestamp:String = null with get,set
        member val TransactionIdentifier:String = null with get,set

    type ClientFlow =
        | NemID = 0
        | NemIDSignature = 1
        | NemIDKeyFile = 2
        | NemIDKeyFileSignature = 3
        | NL3Signature = 4
        | Invalid = 5
        | LoadTest = 6

    type FlowStatus =
        | Ok = 0
        | UserCancel = 1
        | ClientFlowError = 2
        | FlowError = 3
        | ValidationError = 4

    [<AllowNullLiteral>]
    type FlowResult() = 
        inherit FlowMessage()
        member val ClientFlow:ClientFlow = new ClientFlow() with get,set
        member val Status:FlowStatus = new FlowStatus() with get,set
        member val IsSuccess:Boolean = new Boolean() with get,set
        member val Message:String = null with get,set
        member val UserMessage:String = null with get,set
        member val FlowErrorCode:String = null with get,set

    type CertificateType =
        | Poces = 0
        | Moces = 1
        | Voces = 2
        | Foces = 3

    [<AllowNullLiteral>]
    type SignProperty() = 
        member val Name:String = null with get,set
        member val Value:String = null with get,set

    type LogonType =
        | Otp = 0
        | KeyFile = 1
        | Unknown = 2

    [<AllowNullLiteral>]
    type AuthenticationInfo() = 
        member val Pid:String = null with get,set
        member val Dn:String = null with get,set
        member val CommonName:String = null with get,set
        member val Rid:String = null with get,set
        member val Cpr:String = null with get,set
        member val Cvr:String = null with get,set
        member val Company:String = null with get,set
        member val Email:String = null with get,set
        member val SignedXml:String = null with get,set
        member val IssuerDn:String = null with get,set
        member val IsYouthCert:Boolean = new Boolean() with get,set
        member val CertificateType:CertificateType = new CertificateType() with get,set
        member val SubjectSerialNumber:String = null with get,set
        member val SignProperties:IList<SignProperty> = null with get,set
        member val RememberUserIdToken:String = null with get,set
        member val LogonType:LogonType = new LogonType() with get,set
        member val CertificateSerialNumber:String = null with get,set
        member val ClientCertificate:Byte[] = [||] with get,set
        member val AuthorizedToRepresent:String = null with get,set

    [<AllowNullLiteral>]
    type NemIDFlowResult() = 
        inherit FlowResult()
        member val AuthenticationInfo:AuthenticationInfo = null with get,set

F# ValidateNemIdRequestModel 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.

GET /nemidvalidatelogin HTTP/1.1 
Host: hcbtas-q-albamfs-api.azurewebsites.net 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	authenticationInfo: 
	{
		pid: String,
		dn: String,
		commonName: String,
		rid: String,
		cpr: String,
		cvr: String,
		company: String,
		email: String,
		signedXml: String,
		issuerDn: String,
		isYouthCert: False,
		certificateType: Poces,
		subjectSerialNumber: String,
		rememberUserIdToken: String,
		logonType: Otp,
		certificateSerialNumber: String,
		clientCertificate: AA==,
		authorizedToRepresent: String
	},
	clientFlow: NemID,
	status: Ok,
	isSuccess: True,
	message: String,
	userMessage: String,
	flowErrorCode: String,
	timestamp: String,
	transactionIdentifier: String
}