Thanks for the link. Can I use my database connection instead of an API? I’ve been trying this but it doesn’t seem to be running in my post-login action. (I have something similar running in the login script). This is my code, with the connecting info redacted:
exports.onExecutePostLogin = async (event, api) => {
const sqlserver = require('tedious@1.11.0');
const Connection = sqlserver.Connection;
const Request = sqlserver.Request;
const TYPES = sqlserver.Types;
const connection = new Connection({
server: **********,
userName: **********,
password: **********,
options: {
instanceName: **********,
rowCollectionOnRequestCompletion: true,
useColumnNames: true
},
});
const query =
`select Institution from ************************* email = @Email`;
connection.on('connect', function (err) {
api.accessToken.setCustomClaim(`testingSqlConnection`, `a regular string`);
if (err) return err;
const request = new Request(query, function (err, rowCount, rows) {
if (err || rowCount < 1)
return err;
const firstRow = rows[0];
var institution = firstRow.Institution.value;
api.accessToken.setCustomClaim(`InstitutionTestingClaim`, institution);
});
request.addParameter('Email', TYPES.VarChar, event.user.email);
connection.execSql(request);
});
};