Available, published 4 years ago
In a nutshell: this is bring your own users. You can integrate feedback users from your backend system such that feedback is linked directly to users of your product/service. User data shall be integrated via JWT and appear as feedback user in Productific.
Intro
JSON Web Tokens (JWT) are an industry standard for representing and transferring claims between two parties. JWT are URL-safe and are typically used to integrate user login data across web applications. Details are described in RFC7519. Productific uses JWT to link other products' user data such that feedback can be directly attributed to known users. The following steps describe how to set up Single Sign On (SSO) with JWT for a product feedback page.
Guide: How to setup SSO login via JWT for your product feedback page
Step 1: Enable SSO in the settings section of your Productific dashboard: activate "Login via SSO (JWT)" and generate a new secure token. Optionally, you can maintain a login URL. When a login URL is maintained Productific can send your users there to sign in, without a login URL maintained the link "Sign in with..." won't be shown.
|
|
|
Step 2: Include this script so you can sign users into Productific. This javascript does the Productific login for you.
<script src="https://productific.com/cdn/productific-users.js"></script>
Step 3: Generate a JWT token in your product (on your server) which is then used by Productific to sign in users. For security reason: stay in the backend, do not do this in the browser.
function generateJWT(user) {
const payload = {
// the name of your product
// (see Productific dashboard - settings - vanity URL)
product: 'MyProduct',
// the ID that your product uses to identify this user
id: user._id,
// the user's email
email: user.email,
// the user's name
name: user.firstName + ' ' + user.lastName,
// optional: family name
familyName: user.lastName,
// optional: given name
givenName: user.firstName,
// optional: URL of user's image
photoUrl: user.photoUrl
}
return JWT.sign(payload, 'your_secret_key', {algorithm: 'HS256'});
}
Step 4: Use the JWT to sign in with Productific by running the following javascript:
loginToProductific(
// the name of your product (see Productific dashboard - settings)
'MyProduct',
// the token obtained in step 3
jwt, // the token optained in step 3
// callback, this one opens the feedback page after successful login
function() { window.open('https://productific.com/@MyProduct','_blank'); },
// debug mode: 'true' leads to supportive javascript console output
true
);
Optional: Single-Sing-On via JWT is typcially used in two flavours:
Both flavours can be combined and used in parallel.
Compatibility: Productific allows you to integrate users from your system, from just about any platform: Node.js, Java, Ruby, Android, iOS, Angular, .... just check the libraries listed on jwt.io to pick one for your stack.