UNPKG

@nevis-security/nevis-mobile-authentication-sdk-react

Version:

React Native plugin for Nevis Mobile Authentication SDK. Supports only mobile.

87 lines (76 loc) 2.53 kB
/** * Copyright © 2023 Nevis Security AG. All rights reserved. */ import { AuthorizationProvider } from '../../../authorization/AuthorizationProvider'; import { FidoUafAttestationInformation } from '../../../deviceCapabilities/FidoUafAttestationInformation'; import { OutOfBandPayload } from '../../../operations/outOfBand/OutOfBandPayload'; import { ChannelMessage } from '../ChannelMessage'; /** * Holds the parameters of the success native event. */ export class OnSuccessMessage extends ChannelMessage { /** * The identifier of the operation. */ operationId: string; /** * The object providing authorization. */ authorizationProvider?: AuthorizationProvider; /** * The out-of-band payload. */ outOfBandPayload?: OutOfBandPayload; /** * The FIDO UAF attestation information. */ fidoUafAttestationInformation?: FidoUafAttestationInformation; /** * Default constructor for {@link OnSuccessMessage}. * * @param operationId the identifier of operation. * @param authorizationProvider the object providing authorization. * @param outOfBandPayload the out-of-band payload. * @param fidoUafAttestationInformation the FIDO UAF attestation information. */ constructor( operationId: string, authorizationProvider?: AuthorizationProvider, outOfBandPayload?: OutOfBandPayload, fidoUafAttestationInformation?: FidoUafAttestationInformation ) { super(); this.operationId = operationId; this.authorizationProvider = authorizationProvider; this.outOfBandPayload = outOfBandPayload; this.fidoUafAttestationInformation = fidoUafAttestationInformation; } /** * Alternate constructor that creates an {@link OnSuccessMessage} from a json. * * @param json contains the source for instance creation. * @returns the created instance. */ static fromJson(json: any): OnSuccessMessage { let provider: AuthorizationProvider | undefined; if (json.authorizationProvider) { provider = AuthorizationProvider.fromJson(json.authorizationProvider); } let payload: OutOfBandPayload | undefined; if (json.outOfBandPayload) { payload = OutOfBandPayload.fromJson(json.outOfBandPayload); } let fidoUafAttestationInformation: FidoUafAttestationInformation | undefined; if (json.fidoUafAttestationInformation) { fidoUafAttestationInformation = FidoUafAttestationInformation.fromJson( json.fidoUafAttestationInformation ); } return new OnSuccessMessage( json.operationId, provider, payload, fidoUafAttestationInformation ); } }