node.js - How can I do secure SAML with multiple tenants? -
i'm talking in context of idp-initiated workflow.
i'm using this passport
strategy saml. under "security , signatures" heading, suggests providing idp's cert.
this cert inserted when define strategy afaik.
in case of multi-tenant application, have no way of knowing cert use until user attempted log in, , @ point late use cert, wouldn't it?
how can authenticate saml requests multiple tenants if can't know cert use until saml requests come in?
i'm thinking i'd need this:
- user sends information identifying tenant they're trying login to
- the saml strategy created correct cert.
- the saml process starts.
or perhaps i'm thinking wrong, , none of necessary having relatively secure login process?
if question broad, i'd appreciate if left comments me narrow down, or directed me resources should read.
if wasn't clear, i'm storing:
- the sso url
- the issuer url
- the public cert
this information linked tenant, once profile information idp, can identify tenant user should directed to. can use information after tenant identified validate things.
perhaps can use public cert "after-the-fact" validation?
not sure if not familiar passport. said, when have designed multi-tenant saml service provider (sp) identity provider (idp) data flows, implemented idp discovery service prior saml request being issued. in order make idp discovery work there few strategies, 1 seems work best having tenant names in url subdomain, e.g. tenant.yourcompany.com. when url processed in idp discovery service can format saml request idp server. hope helps.
Comments
Post a Comment