From ProviderInput.schema.yaml (heimdall/ProviderInput.schema
)
---
$id: https://skeleton.botmd.io/heimdall/ProviderInput.schema
$schema: http://json-schema.org/draft-07/schema#
title: Provider Input
description: Provider inputs are used by Heimdall login frontends for provider specific input values. These are usually things like access tokens and secret credentials generated by the authentication provider.
type: object
additionalProperties: false
anyOf:
- required: [access_token]
- required: [jwt]
- required: [session]
- required: [token]
- required: [maxicare_card_no, maxicare_clinic_domain, maxicare_dob]
- required: [native_session, web_session]
- required: [identifiable_information]
- required: [sgid_session]
- required: [sgid_authorize]
- required: [chemocalc_nric]
properties:
access_token:
title: Access Token
description: Access tokens are usually generated by third party services which the backend can use to authenticate. This is used by `Auth0Provider` and `PublicServiceProvider`.
type: string
minLength: 1
#end access_token
native_session:
title: "QRCodeProvider: Native Session"
description: The current session token held by the native device. This is used by `QRCodeProvider`.
type: string
minLength: 32
#end native_session
web_session:
title: "QRCodeProvider: Web Session"
description: The pre-generated session token requested by the web device. This is usually enccoded within the QR code and generated by the web client. This is used by `QRCodeProvider`.
type: string
minLength: 32
#end native_session
jwt:
title: JWT
description: JWT tokens are usually generated by third party services which the backend can use to authenticate. This is used by `LegacyJWTProvider`.
type: string
minLength: 1
#end jwt
session:
title: Session
description: A valid Heimdal session UID often used for session exchange. This is used by `CleoClinicianProvider`.
type: string
minLength: 32
#end session
sgid_authorize:
title: SGID Authorize
description: Authorize against `SGIDProvider` instead of application. This is used by `SGIDProvider`.
type: boolean
#end sgid_authorize
sgid_session:
title: Sgid Session
description: A valid Heimdall session UID with scoope `sgid` used for session exchange.
type: string
minLength: 32
#end sgid_session
chemocalc_nric:
title: Chemocalc NRIC
description: NRIC that is used by `ChemocalcHeimdallProvider`.
type: string
minLength: 1
maxicare_card_no:
title: Maxicare Card No
description: Maxicare Card No that is used by `MaxicareHeimdallProvider`
type: string
minLength: 1
maxicare_clinic_domain:
title: Maxicare clinic domain
description: Maxicare clinc domain that is used by `MaxicareHeimdallProvider`
type: string
minLength: 1
maxicare_dob:
title: Maxicare Member DOB
description: Maxicare's member DOB for verification
type: string
format: date
token:
title: Token
description: Tokens are usually generated by third party services which the backend can use to authenticate. This is used by `InternalServiceProvider` and `CleoPatientProvider`.
type: string
minLength: 1
#end token
identifiable_information:
title: Identifiable Information
description: Identifiable information for `OTPProvider` to verify OTP.
$ref: "/governess/IdentifiableInformation.schema"
#end identifiable_information
#end properties