Complete traditional login
Completes traditional login using an email address and a password.
Authentication
No authentication is required to call this operation.
Base URL
The base URL for this operation is your Identity Cloud Capture domain; for example:
https://educationcenter.us- dev.janraincapture.com
Your Capture domain (also known as the Registration domain) can be found in Console on the Manage Application page.
Examples
Example: Complete Traditional Authentication
This command carries out a traditional login (i.e., a login employing a username and password) for the user johndoe@example.com.
curl -X POST \
--data-urlencode 'client_id=12345abcde12345abcde12345abcde12'\
--data-urlencode 'flow=standard'\
--data-urlencode 'flow_version=20190618143040022299'\
--data-urlencode 'locale=en-US'\
--data-urlencode 'redirect_uri=http://localhost'\
--data-urlencode 'response_type=token'\
--data-urlencode 'form=signInForm'\
--data-urlencode 'signInEmailAddress=johndoe@example.com'\
--data-urlencode 'currentPassword=password123'\
https://my-app.janraincapture.com/oauth/auth_native_traditional
Parameters
All parameters need to be configured as x-www-form-urlencoded body parameters.
Parameter | Type | Required | Description |
---|---|---|---|
client_id | string | ✓ | API client ID used to authenticate the call. This client must be configured with the login_client feature, which gives it permission to use login and registration-based API endpoints. |
flow | string | ✓ | Name of the flow configured with the login experience you want to use. This parameter corresponds to the janrain.settings.capture.flowName JavaScript setting used in JavaScript SDK-based implementations. The default flow provisioned with Registration applications is named the standard flow; if you have multiple flows, you can find a list of valid flow names using the Configuration API. You may omit this parameter if you configure the flow name in the default_flow_name setting for the API client used to make this call. |
flow_version | integer | ✓ | Version number of the flow set in the flow parameter. This parameter corresponds to the janrain.settings.capture.flowVersion JavaScript setting used in JavaScript SDK-based implementations; however, this call will not accept a version of HEAD. Instead, you must specify the version number if you want to use the most recent version. You can find a list of versions for your flow using the Configuration API. This parameter can be omitted if you you configure the flow version in the default_flow_version setting for the API client used to make this call. |
form | string | ✓ | Name of the form used to post user input for traditional authentication. This parameter determines the field names that must be included when submitting this API call. The default form name for traditional authentication configured for the standard flow is signInForm, but you can find a list of valid forms and associated fields for your flow using the Configuration API. This form name corresponds to the name of the JTL tag used for the associated form in widget-based implementations. |
(form fields) | string | ✓ | Names of any fields that are configured in your flow with the traditional login form. Each field must be passed as a separate parameter; use the field name as the key and the user input as the value. All fields required in the flow for that form must be included. The default traditional authentication fields configured for the standard flow are signInEmailAddress and currentPassword. You can find a list of valid fields for your traditional registration form using the Configuration API. These field names correspond to the name of the JTL tags included inside the associated form in JavaScript SDK-based implementations. |
locale | string | ✓ | Code for the language you want to use for the login experience. This parameter determines the language for any error messages returned to you and corresponds to the janrain.settings.language JavaScript setting used in JavaScript SDK-based implementations. The default locale provisioned with the standard Registration flow is en-US; other locales must be configured in your flow. You can find a list of valid locales for your flow using the Configuration API. |
merge_token | string | ✗ | If you had a previous oauth/auth_native call fail with the error code 380 email_address_in_use error, you can merge the new social account into the existing one by including the merge_token parameter in this call while authenticating the user's existing account. The token value for this parameter must be the same token from the previous failed auth_native call. |
redirect_uri | string | ✓ | Required for legacy purposes and not used for any functionality in this call. The parameter value must begin with http: or https:, and we recommend that this match the URL and protocol of your website. This parameter corresponds to the janrain.settings.capture.redirectUri JavaScript setting used in JavaScript SDK-based implementations. |
response_type | string | <<CH\ | Determines whether you receive an access token, an authorization code, or both after a user is successfully authenticated; if omitted, the response type will default to token. This parameter corresponds to the janrain.settings.capture.responseType JavaScript setting used in JavaScript SDK-based implementations. Allowed values are: • code • token • code_with_token |
Responses
200 OK
Successful Response
A successful response returns the user profile in the capture_user object along with an access_token or authorization_code depending on the response_type parameter you included in the call.
{
"capture_user": {
"created": "2016-04-20 17:02:18.649505 +0000",
"uuid": "67890def-6789-defg-6789-67890defgh67",
// additional profile data...
},
"stat": "ok",
"access_token": "z0y98xv76u5t4rs3"
}
Error - Invalid Credentials
The example error response below indicates that traditional authentication failed. The same error message is returned if the email address is not registered or if the email address is registered but the password entered is incorrect.
{
"stat": "error",
"code": 210,
"error_description": "some inputs are invalid",
"error": "invalid_credentials",
"request_id": "5442cd9rdkcayy3p",
"invalid_fields": {
"signInForm": [
"Incorrect username or password. Please try again."
]
}
}
Error - Invalid Form
The example error response below indicates that the form value is not valid for the flow included in the call. Form names are case-sensitive, so signinform fails if signInForm is the valid form name.
{
"stat": "error",
"code": 200,
"error_description": "no such form 'signinform'",
"error": "invalid_argument",
"request_id": "rdfbsavfvzb2sxud"
}
Error - Missing Required Parameters
The example error response below indicates that one of the required parameters for the call wan't included. The error message describes which parameter is missing.
{
"stat": "error",
"code": 100,
"error_description": "missing arguments: flow",
"error": "missing_argument",
"request_id": "uyeem84bmqmnjuu4"
}
Error - Invalid Flow Value
The example error response below indicates that the value provided for one or more of the flow, flow_version, or locale parameters is invalid. Flow versions are unique across environments, so check that the version value included in the call is for the correct environment (that is, your development or production application).
{
"stat": "error",
"code": 500,
"error_description": "could not find a flow named 'standard' with version '12345abc-1234-abcd-1234-12345abcde12' and locale 'en-US'",
"error": "unexpected_error",
"request_id": "murynd7fhpysq6um"
}
Error - Invalid API Client Permissions
The example error response below indicates that the API client used to make the call is not configured with the login_client feature.
{
"stat": "error",
"code": 403,
"error_description": "This client does not support log in and registration.",
"error": "permission_error",
"request_id": "y3sthb9dey6mv65e"
}
Updated almost 2 years ago