Description

To set up a new Multi-Factor Authentication (MFA) channel in your DruID account, use this method.

Please note that this method verifies user credentials beforehand. Consequently, an error response may be received from the login endpoint if the user’s credentials are incorrect.

Once you have successfully configured a new MFA channel, confirmation is required by sending a valid code through the validate code endpoint.

If you have previously generated an MFA channel but need to update certain information about the method, make a call to the update endpoint. In this scenario, ensure to provide a valid access_token for the requested user.

Endpoint URL:

 POST https://{your-endpoint-domain.com}/activityid/v1/mfa/create

Request parameters

ParameterDescriptionTypeRequired
Authorization“Bearer app_token” Literal text Bearer followed by app_token that is the token obtained from /oauth2/token endpointstringyes
Content-TypeThe type of content that will be used for requests to be JSONstringyes
AcceptThe type of content that will be used for responses to be JSONstringyes
FromName of the entry pointstringyes
Accept-LanguageLanguage for this requestLocaleno

Query string parameters

ParameterDescriptionTypeRequiredDefault value
scWith this paramater you can configure how user fields are validated: by default ALL validation errors are returned back to service caller (). If you want to receive only ONE validation error each time, you have to send query String parameter ‘sc=true’booleannofalse
fcaForce to check complete account after successful login. If user needs to complete data you will receive same response defined in complete account error each time, you have to send query String parameter ‘sc=true’booleannofalse

Request Example

ParameterDescriptionTypeRequiredValue
actor.idapp_id of the application you are using to log userstringyesapp id
actor.objectTypeType of the object which represents the actor.stringyes‘application’
verbVerb used for the loginstringyes‘create’
object.objectTypeObjectType represents the userstringyes‘user’
object.passwordPassword of the user. it must be send plainstringyesuser password
object.ids.emailStructure of email identifier. node name must be “email”structyesemail
object.ids
.email.objectType
ObjectType represents the id of the userstringyes‘user_id’
object.ids.email.valueEmail valuestringyesemail
source.idType of device doing the activitystringyes‘unknown’ | ‘pc’ | ‘mobile’ | ‘tablet’ | ‘game_console’ | ‘itv’
source.objectTypeType of sourcestringyes‘device’
context.mfa_channelName of the MFA channelstringyes‘sms’
context
.mfa_channel_address
Address where to send the TOTP code. For instance, a phone number if the channel is SMSstringno‘+34123123123’

Response examples

Response: MFA Created Channel

ParameterDescriptionType
contentData receive with the responsestruct
content.providerThe provider that generates the TOTP codes.string
content.isMandatoryWhether the MFA has been created with mandatory scopestring
content.channelThe name of the channel that has been configured.string
content.secretSecret shared with the user, this secret would be used as a seed for generating the TOTP codes. This is the code that is commonly requested in the authentication apps if the QR code is not available. string
content.qrUriThe “otpauth” complete URI representing the MFA channel.string
content.printableQrUri
The “content.qrUri” but encoded to be printed in html. You can print it with by pasting this property in the “src” on an “img” tag` long
content.recoveryCodesCodes used for recovering the account in the case that the user had lost all the MFA channels. This codes are generated only after the creation of the first MFA channel. string
resultCommon http resultstruct
result.statusHttp codeinteger
result.messageA description that describes the result of the operationstring

Response codes

CodeTypeDescription
400ErrorBad Request: The request could not be understood by the server due to malformed syntax
401ErrorUnauthorized: authentication is required and has failed or has not yet been provided (token is invalid, etc)
403ErrorForbidden: user id or password are invalid
412ErrorPrecondition failed: User can not log because he/she has not confirmed email
417ErrorMFA Error: There is a problem with MFA, you will receive a detailed error description
500ErrorInternal Server Error: The server encountered an unexpected condition which prevented it from fulfilling the request
504ErrorGateway TimeoutService can not contact with oauth server to do some internal operations
200SuccessMFA code configured succesfully