supertokens-node
Version:
NodeJS driver for SuperTokens core
40 lines (39 loc) • 1.85 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = Discord;
const custom_1 = __importDefault(require("./custom"));
function Discord(input) {
var _a;
if (input.config.name === undefined) {
input.config.name = "Discord";
}
if (input.config.authorizationEndpoint === undefined) {
input.config.authorizationEndpoint = "https://discord.com/oauth2/authorize";
}
if (input.config.tokenEndpoint === undefined) {
input.config.tokenEndpoint = "https://discord.com/api/oauth2/token";
}
if (input.config.userInfoEndpoint === undefined) {
input.config.userInfoEndpoint = "https://discord.com/api/users/@me";
}
input.config.userInfoMap = Object.assign(Object.assign({}, input.config.userInfoMap), { fromUserInfoAPI: Object.assign({ userId: "id", email: "email", emailVerified: "verified" }, (_a = input.config.userInfoMap) === null || _a === void 0 ? void 0 : _a.fromUserInfoAPI) });
const oOverride = input.override;
input.override = function (originalImplementation) {
const oGetConfig = originalImplementation.getConfigForClientType;
originalImplementation.getConfigForClientType = async function ({ tenantId, clientType, userContext }) {
const config = await oGetConfig({ tenantId, clientType, userContext });
if (config.scope === undefined) {
config.scope = ["identify", "email"];
}
return config;
};
if (oOverride !== undefined) {
originalImplementation = oOverride(originalImplementation);
}
return originalImplementation;
};
return (0, custom_1.default)(input);
}