@hellocoop/api
Version:
Client API for Hellō https://hello.dev
32 lines (31 loc) • 1.24 kB
JavaScript
;
// Third Party Initiated Login
// https://openid.net/specs/openid-connect-core-1_0.html#ThirdPartyInitiatedLogin
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const login_1 = __importDefault(require("./login"));
const config_1 = __importDefault(require("../lib/config"));
const initiateLogin = async (req, res, params) => {
const { iss, login_hint, domain_hint, target_link_uri, redirect_uri } = params;
const issuer = `https://issuer.${config_1.default.helloDomain}`;
if (iss && (iss !== issuer)) {
return res.send(`Passed iss '${iss}' must be '${issuer}'`);
}
req.query = {}; // override query params
if (target_link_uri) {
req.query.target_uri = target_link_uri;
}
if (redirect_uri) {
req.query.redirect_uri = redirect_uri;
}
if (login_hint) {
req.query.login_hint = login_hint;
}
else if (domain_hint) { // if both are passed, login_hint takes precedence
req.query.domain_hint = domain_hint;
}
return (0, login_1.default)(req, res);
};
exports.default = initiateLogin;