v1

latestOpenAPI 3.1.02026-07-24416405768.8 KB
d) Customer Management

Create a username/password for a customer

Customers can then get a JWT with these credentials and access their profile, wallets, cards etc. This is necessary when tenants want to give their customers direct access to the APIs or for customers using companion Apps. If using PKI, to generate a public/private key combination use openssl: openssl req -nodes -x509 -sha256 -newkey rsa:4096 -keyout "PrivateKey.key" -out "PublicKey.crt" -days 99999 Then extract the base64 public key from the certificate as follows: openssl x509 -in PublicKey.crt -pubkey -noout | grep -v "-----" | base64 -d| base64 -w0 For generating a special CAP (card access password) for a customer to view unmasked card details but without creating a proper identity on Eclipse, one can create an identity with identity "CAP".If this is done with a tenant JWT and no password then a random password is generated by Eclipse and SMS'd to the customers phone on profile. If CAP is passed with no JWT and no password then an SMS with an OTP is sent to the customer. This API can then be called passing CAP, a password to set and the OTP (again with no JWT).Note that a CAP cannot be used for getting a JWT. It can only be used to get card details. To create a WebAuthN identity, just pass an identity. Then proceed with getting a login-challenge to initiate the WebAuthN registration process.

post/eclipse-conductor/rest/v1/tenants/{tenantId}/customers/{customerId}/identities

Path parameters

tenantIdinteger required
customerIdinteger required

Request body

authLockedAfterstring date-time

Optional. ISO 8601 date/time of when the identity cannot be used after. Changing password before authLockedAfter would set authLockedAfter to null and effectively make the identity usable any time

base64EncodedPublicKeystring

An optional PKI RSA public key for added security. If a public key is provided then the PKI login-challenges endpoint should be used to get a challenge to respond to as part of the login

changeAfterstring date-time

Optional. ISO 8601 date/time of when the current password expires and a password reset must be done

identitystring required

Identity/username for authentication

otpstring

An OTP to use to prove the presence of the customer if an identity is created without passing a JWT. Typically used for web UIs needing to add a card access password with a specific password

passwordstring

Can be pre-hashed with BCRYPT or passed as clear text in which case Eclipse will hash it

totpEnabledboolean

Whether this identity will require a time base one time password when authenticating. If true, the response will include a QRCode which can be scanned with any RFC 6238 compliant App (E.g. Google Authenticator)

Example request

{
  "authLockedAfter": "2022-03-10T12:15:50-04:00",
  "changeAfter": "2022-03-10T12:15:50-04:00"
}

Response

Identity created

authLockedAfterstring date-time

Optional. ISO 8601 date/time of when the identity cannot be used after. Changing password before authLockedAfter would set authLockedAfter to null and effectively make the identity usable any time

authLockedUntilstring date-time

Optional. ISO 8601 date/time of when the identity cannot be used before

base64EncodedPublicKeystring

An optional PKI RSA public key for added security. If a public key is provided then the PKI login-challenges endpoint should be used to get a challenge to respond to as part of the login

changeAfterstring date-time

Optional. ISO 8601 date/time of when the current password expires and a password reset must be done

failedAuthAttemptsinteger
identitystring required

Identity/username for authentication

totpEnabledboolean

Whether this identity will require a time base one time password when authenticating

totpQrCodestring

Resets the TOTP secret and returns a new QRCode which can be scanned with any RFC 6238 compliant App (E.g. Google Authenticator)

Example response

{
  "authLockedAfter": "2022-03-10T12:15:50-04:00",
  "authLockedUntil": "2022-03-10T12:15:50-04:00",
  "changeAfter": "2022-03-10T12:15:50-04:00"
}