The MyAccount App Authenticators API provides operations to enroll, update, and delete an app authenticator. The API also allows users to view and verify pending notification challenges. The API only supports custom authenticators. See the Custom authenticator integration guide.
A valid API version in the Accept
header is required to access the API. Current version: 1.0.0
Accept: application/json; okta-version=1.0.0
JSON Web Token payload constructed by Okta for the push notification challenge request JWT
appInstanceName | string Friendly name of the application for the authentication request | ||||||||||
aud | string Audience (maps to the application ID) | ||||||||||
authenticatorEnrollmentId | string ID of the app authenticator enrollment | ||||||||||
authorizationServerId | string ID of the authorization server that signed the challenge request | ||||||||||
object | |||||||||||
| |||||||||||
exp | string Expiration time of token (UNIX timestamp) | ||||||||||
iat | string Issuing time of token (UNIX timestamp) | ||||||||||
iss | string Issuer (maps to the org URL) | ||||||||||
jti | string Token ID (matches | ||||||||||
method | string Method type requested for the response | ||||||||||
methodEnrollmentId | string ID of the push method enrollment | ||||||||||
nonce | string Randomly generated nonce value | ||||||||||
orgId | string ID of the organization | ||||||||||
signals | Array of arrays Array of string values describing client signals requested for collection | ||||||||||
transactionId | string Transaction ID (matches the | ||||||||||
userId | string ID of the user being challenged | ||||||||||
userMediation | string Indicates if user mediation is required
| ||||||||||
userVerification | string Indicates if user verification (biometrics) is used in the response
| ||||||||||
ver | integer Version of the JWT (supported value: 0) | ||||||||||
verificationUri | string The expected endpoint posted by the client for the challenge response |
{- "appInstanceName": "string",
- "aud": "string",
- "authenticatorEnrollmentId": "pfd7rzcmvlhmE0Y1w0g4",
- "authorizationServerId": "string",
- "challengeContext": {
- "clientOS": "string",
- "clientLocation": "string",
- "transactionTime": "string",
- "transactionType": "CIBA",
- "bindingMessage": "string"
}, - "exp": "string",
- "iat": "string",
- "iss": "string",
- "jti": "string",
- "method": "push",
- "methodEnrollmentId": "opf6aeq9U2hoM8aqO0w5",
- "nonce": "string",
- "orgId": "string",
- "signals": [ ],
- "transactionId": "string",
- "userId": "string",
- "userMediation": "REQUIRED",
- "userVerification": "REQUIRED",
- "ver": 0,
- "verificationUri": "string"
}
JSON Web Token header used for the push notification challenge request JWT
alg | string Signing algorithm used |
kid | string Signing key ID that matches the key ID used by the authorization server |
typ | string Type of token |
{- "alg": "RS256",
- "kid": "“seD0hUMrcpFtlVVTmkDyJ0mGxlEygWEZ42ts9z4ih9M”",
- "typ": "okta-pushbind+jwt"
}
JSON Web Token payload used for the push notification challenge response JWT
aud required | string Audience (matches the org URL) | ||||||||||||||||||||||||||||||||||||||||||
required | object Object describing the response context | ||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||
object JSON dictionary with the | |||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||
exp required | string Expiration time of token (UNIX timestamp) | ||||||||||||||||||||||||||||||||||||||||||
iat required | string Issuing time of token (UNIX timestamp) | ||||||||||||||||||||||||||||||||||||||||||
iss required | string Issuer (matches the app authenticator enrollment ID) | ||||||||||||||||||||||||||||||||||||||||||
jti required | string Randomly generated ID for every response | ||||||||||||||||||||||||||||||||||||||||||
keyType required | string Type of key used to sign the JWT | ||||||||||||||||||||||||||||||||||||||||||
methodEnrollmentId required | string ID of the push method enrollmnet | ||||||||||||||||||||||||||||||||||||||||||
nbf required | string Token isn't valid before this time (UNIX timestamp) | ||||||||||||||||||||||||||||||||||||||||||
nonce required | string Matches the | ||||||||||||||||||||||||||||||||||||||||||
sub required | string Subject (matches the user ID) | ||||||||||||||||||||||||||||||||||||||||||
tx required | string Matches the |
{- "aud": "string",
- "challengeResponseContext": {
- "userConsent": "APPROVED_CONSENT_PROMPT",
- "transactionType": "LOGIN"
}, - "deviceSignals": {
- "id": "string",
- "isHardwareProtectionEnabled": true,
- "model": "iPhone",
- "manufacturer": "Apple",
- "displayName": "string",
- "platform": "IOS",
- "osVersion": "11.4",
- "clientInstanceId": "string",
- "clientInstanceBundleId": "string",
- "clientInstanceVersion": "string",
- "secureHardwarePresent": true,
- "screenLockType": "BIOMETRIC",
- "diskEncryptionType": "FULL"
}, - "exp": "string",
- "iat": "string",
- "iss": "string",
- "jti": "string",
- "keyType": "proofOfPossession",
- "methodEnrollmentId": "opf6aeq9U2hoM8aqO0w5",
- "nbf": "string",
- "nonce": "string",
- "sub": "string",
- "tx": "string"
}
JSON Web Token header used for the push notification challenge response JWT
alg required | string Signing algorithm used |
kid required | string Signing key ID that matches the key ID used during the authenticator enrolment flow |
typ required | string Type of token |
{- "alg": "RS256",
- "kid": "“7fbc27fd-e3df-4522-86bf-1930110256ad”",
- "typ": "okta-pushbind+jwt"
}
okta.myAccount.appAuthenticator.manage
Creates an app authenticator enrollment
OK
Bad Request
Unauthorized
Access Denied
Resource Not Found
{- "authenticatorId": "aut12i8bdXk90NIfr0q5",
- "device": {
- "secureHardwarePresent": true,
- "clientInstanceKey": {
- "x": "O0N1H3AIXj5p5cpQx5RUzowIRz1iPnheo7SbEC-CtFw",
- "y": "Cea3KAFqsyxqPni2QJ6LjjqgRKgRHpsVzkNazd3m8To",
- "kty": "EC",
- "okta:kpr": "HARDWARE",
- "crv": "P-256",
- "kid": "DF47DEE2-D1B0-40B6-BEB7-09134CC4A19B"
}, - "osVersion": "14.3",
- "clientInstanceBundleId": "com.company.authenticatorApp",
- "platform": "IOS",
- "manufacturer": "APPLE",
- "deviceAttestation": { },
- "clientInstanceVersion": "6.4.0",
- "clientInstanceDeviceSdkVersion": "DeviceSDK 1.0.0",
- "model": "iPhone",
- "displayName": "My device name",
- "udid": "4956095A-D99E-4A4E-A6DC-9E63E5978722"
}, - "methods": {
- "push": {
- "apsEnvironment": "DEVELOPMENT",
- "pushToken": "667b773e90871f014805f45f770c90d161b84b609d167039b2c388c7bacfdaa1",
- "keys": {
- "proofOfPossession": {
- "x": "hFr-xcGSMHbWKq2_SUAOMkif1ARYAU-X_8ZGprOhxfw",
- "y": "HVqAxDCiGcV7H0QAQas6CMbh2wyG-cPU_cwXv3kPqcI",
- "kty": "EC",
- "okta:kpr": "HARDWARE",
- "crv": "P-256",
- "kid": "2078892D-BC96-4C8C-A3FA-34045C002C4A"
}, - "userVerification": {
- "x": "V0p-5JFpcen4Iep94ihs00Kjezw9sblfMSUW-cJxTRk",
- "y": "wgJ9SFT3iaT6cqS08TBIBg_K-20r_4FMGFUlN2BXFJc",
- "kty": "EC",
- "okta:kpr": "HARDWARE",
- "crv": "P-256",
- "kid": "80D6AC7B-B640-4899-A32C-CA7B98BE0AE6"
}
}, - "capabilities": {
- "transactionTypes": [
- "LOGIN",
- "CIBA"
]
}
}
}
}
{- "authenticatorId": "string",
- "createdDate": "2019-08-24T14:15:22Z",
- "device": {
- "id": "string",
- "status": "ACTIVE",
- "createdDate": "2019-08-24T14:15:22Z",
- "lastUpdated": "2019-08-24T14:15:22Z",
- "clientInstanceId": "string"
}, - "id": "string",
- "lastUpdated": "2019-08-24T14:15:22Z",
- "links": {
- "self": {
- "href": "string",
- "hints": {
- "allow": [
- "PATCH"
]
}
}
}, - "methods": {
- "push": {
- "id": "string",
- "createdDate": "2019-08-24T14:15:22Z",
- "lastUpdated": "2019-08-24T14:15:22Z",
- "links": {
- "pending": {
- "href": "string",
- "hints": {
- "allow": [
- "GET"
]
}
}
}
}
}, - "user": {
- "id": "string",
- "username": "string"
}
}
Verifies a push notification challenge from the app authenticator
challengeResponse | string JWT issued by the app authenticator at the time of push notification verification This based64-encoded JWT consists of a JWT header and a JWT payload. |
method | string Value: "push" |
Verification Success
User denied challenge attempt
Bad Request
{- "method": "push",
- "challengeResponse": "Your encoded challenge response JWT"
}
okta.myAccount.appAuthenticator.maintenance.manage
Updates an app authenticator enrollment
The following update operations are allowed:
For more information, see Access token management in the Custom authenticator integration guide.
Note: The following higher risk update operations require a stronger
okta.myAccount.appAuthenticator.manage
scope:
- Update the user verification key
- Remove the user verification key
OK
Unauthorized
Access Denied
Resource Not Found
{- "methods": {
- "push": {
- "pushToken": "667b713e90871f014805f45f770c90d161b84b609d167039b2c388c7bacfdaa1"
}
}
}
{- "authenticatorId": "string",
- "createdDate": "2019-08-24T14:15:22Z",
- "device": {
- "id": "string",
- "status": "ACTIVE",
- "createdDate": "2019-08-24T14:15:22Z",
- "lastUpdated": "2019-08-24T14:15:22Z",
- "clientInstanceId": "string"
}, - "id": "string",
- "lastUpdated": "2019-08-24T14:15:22Z",
- "links": {
- "self": {
- "href": "string",
- "hints": {
- "allow": [
- "PATCH"
]
}
}
}, - "methods": {
- "push": {
- "id": "string",
- "createdDate": "2019-08-24T14:15:22Z",
- "lastUpdated": "2019-08-24T14:15:22Z",
- "links": {
- "pending": {
- "href": "string",
- "hints": {
- "allow": [
- "GET"
]
}
}
}
}
}, - "user": {
- "id": "string",
- "username": "string"
}
}
okta.myAccount.appAuthenticator.manage
Deletes an app authenticator enrollment
No Content
Unauthorized
Access Denied
Resource Not Found
{- "errorCauses": [
- {
- "errorSummary": "Bad request because XYZ is missing."
}
], - "errorCode": "E0000001",
- "errorId": "oaeWGQKoQHeQmy0u8w8bPwi_Q",
- "errorLink": "E0000001",
- "errorSummary": "Bad request because XYZ is missing."
}
okta.myAccount.appAuthenticator.maintenance.read
Lists all pending push notification challenges
Success
Unauthorized
[- {
- "payloadVersion": "IDXv1",
- "challenge": "Your encoded challenge request JWT"
}
]