moleculer-iam
Version:
Centralized IAM module for moleculer. Including a certified OIDC provider and an Identity provider for user profile, credentials, and custom claims management. Custom claims could be defined/updated by declarative schema which contains claims validation a
31 lines • 1.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.buildFederateRoutes = void 0;
const idp_1 = require("../../idp");
function buildFederateRoutes(builder, opts) {
const federation = builder.app.federation;
builder.app.router
.post("/federate", async (ctx, next) => {
ctx.op.assertPrompt();
const provider = ctx.request.body.provider;
return federation.handleRequest(ctx, next, provider);
})
// handle federation callback
.get("/federate/:provider", async (ctx, next) => {
ctx.op.assertPrompt();
const provider = ctx.params.provider;
const user = await federation.handleCallback(ctx, next, provider);
if (!user) {
throw new idp_1.IAMErrors.IdentityNotExists();
}
// make user signed in
return ctx.op.redirectWithUpdate({
login: {
account: user.id,
remember: true,
},
});
});
}
exports.buildFederateRoutes = buildFederateRoutes;
//# sourceMappingURL=federate.js.map