Skip to content

Auth Integration

To facilitate the authentication of users, we provide a way for users to authenticate using a one-time password (OTP) that can be generated using your API key. The OTP generated by your API key is valid for 5 minutes and is single-use. We also provide a link for the user to authenticate, which will redirect them to the app and log them in automatically.

QR Code

In order to make things even easier, we already provide a QR Code pointing to the authentication link. We highly recommend using this method alongside providing the auth link on your page as it's the best for usability.

Generate a login code

If you want to generate a login code for a user, send this POST request:

POST /auth/codes

Request

Parameters

Parameter Location Type Description Required
user_id Body string User's id on our API Yes *
user_email Body string User's email Yes*

* You must provide either user_id or user_email.

Example

{
  "user_email": "[email protected]"
}

Response

Status

Code Description
200 The login code was generated.
400 Some parameter must be malformed or missing.
401 Unauthorized.

Example

{
  "code": "000625ecbde61529269d80bfeef215fbed143a8039d2be54",
  "login_url": "https://app.stift.com.br/?code=000625ecbde61529269d80bfeef215fbed143a8039d2be54",
  "qr_code": "data:image/png;base64,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",
  "expires_at": "2023-11-27T21:48:10.507Z"
}



We provide a QR Code encoded in base64 in the response. You can use it to show the QR Code image as follows:

<img
  src="data:image/png;base64,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"
/>

QR Code