Ask HN: How would you design an enterprise (B2B) user permissioning system?
1–4 of 4 posts
Re: Ask HN: How would you design an enterprise (B2B) user permissioning system?
#2Re: Ask HN: How would you design an enterprise (B2B) user permissioning system?
#3For authentication, whatever supports ADFS, SAML and/or OIDC. It's a big plus when they can use existing credentials or SSO into your system from theirs.
Re: Ask HN: How would you design an enterprise (B2B) user permissioning system?
#4The enterprise world tends to move more slowly than the rest of the world (or at least it often seems that way), which is why older systems and practices frequently are still in use.
If available I'd make use of existing Active Directory / LDAP systems (as ilkhan4 has already pointed out) for authorization.
For authentication Kerberos (often used in conjunction with Active Directory / LDAP) is an elegant way for implementing single sign-on (SSO) because it allows the user to simply authenticate with her normal user account in the local OS. Afterwards, the user's automatically logged in to every application on the local network that uses Kerberos for authentication (basically, by sharing a token).
Other than that, the usual best practices apply (such as not storing plaintext passwords). Depending on your architecture, techniques common outside of the enterprise world like transferring information via JSON Web Tokens are useful, too.