Passeport Active Directory node.js
J'ai réussi à rassembler plus d'une demi-douzaine de passeport stratégies (facebook, twitter, linkedin, instagram, tumblr, google, youtube) d'échanger des informations de compte avec oauth1 et oauth2 jeton, dans une seule et même auth server qui permet d'économiser de la session de Mongo et crée de profils actifs avec jeton/session/code/les champs id et avec de nombreux normalisé attribut champs dans SQL server à l'aide de Tedious.js. Ces passeport outils sont excellents, je vous remercie.
Mon dernier défi de ce projet est ne va pas aussi bien, le nom d'utilisateur et mot de passe dans active directory dépôt, de recherche et d'authentification de la même manière. J'ai essayé encore et encore de passeport-ldap, passeport-ldapauth (basé sur ldapauth-gfork, basé sur ldapjs), passeport-windowsauth et passeport-kerberos, et semblent être liés à des informations d'identification d'erreurs (de profondeur dans le code, l'ajout de la console.les journaux pour essayer de comprendre ce que je suis syntaxiquement incorrect).
Existe-il d'autres ressources et de documentation pour accéder à LDAP/AD dans Node.js à l'aide de toute stratégie de Passeport? Le DN de rapport ou de la syntaxe et où l'accès au compte de l'utilisateur (avoir un compte de service spécialement mis en place pour accéder à l'ANNONCE) pour le référentiel rapport au compte utilisateur que vous recherchez et les filtres, il est très difficile de trouver quelque chose d'erreur liés à comprendre où je vais mal. Pensez-vous correspondre à sAMAccountName ou uid? Je garde toujours "non autorisée" erreurs.
Contrairement aux autres 70 passeport stratégies, où la doc et les exemples sont clairs et juste de travailler, non pas tant pour ad/ldap passeport. Quelqu'un peut-il m'indiquer un bon test, doc ou installation qui fonctionne bien spécifiquement avec Passport.js et Active Directory?
Il y a aussi github.com/gheeres/node-activedirectory
OriginalL'auteur user3249956 | 2014-01-29
Vous devez vous connecter pour publier un commentaire.
Alors que c'est une vieille question, j'ai pensé, en tant que responsable d'
passport-ldapauth
, je me dois de préciser l'authentification LDAP un peu.De l'authentification LDAP est différente de celle des stratégies que vous avez utilisé avant. Ceux OAuth stratégies peuvent vraiment être configuré que dans un sens - fournir les options requises, puis il fonctionne. Cette partie est la même chose avec LDAP, mais les valeurs réelles pour les options varient d'un serveur à l'autre. Les questions que vous vous posez, comme pensez-vous correspondre à sAMAccountName ou uid, sont vraiment de vous et le serveur LDAP.
Général des choses comme ce qui n'a DN ressembler, ce qui est la base de recherche, ou quelle est la syntaxe du filtre de recherche ont été définis largement dans les Rfc. Si l'on n'est pas familier avec les notions de base, il peut être difficile d'obtenir l'authentification de travail. Souvent, les AD/LDAP server responsable d'entrée est nécessaire pour avoir de bons réglages, par exemple. ce que la base de recherche permet de trouver tous les utilisateurs, mais ne provoque pas une charge inutile sur le serveur LDAP.
De l'authentification LDAP fonctionne généralement en trois étapes:
passport-ldapauth
,bindDn
etbindCredentials
), lier contre le serveur LDAP.DN
du résultat de la recherche, en collaboration avec d'utilisateur mot de passe fourni, et de le lier à l'encontre du serveur LDAP. Ceci vérifie le mot de passe.Si vous souhaitez avoir de connexion des utilisateurs à l'aide de leur
SAMAccountName
, votre filtre de recherche pourrait être par exemple.(sAMAccountName={{username}})
. Si vous souhaitez que les utilisateurs utilisentuid
, le filtre pourrait être juste(uid={{username}})
. Si vous souhaitez activer à la fois, utilisez(|(sAMAccountName={{username}})(uid={{username}}))
. Le filtre de recherche syntaxe est spécifié dans la RFC 4515.OriginalL'auteur vesse
J'ai été en mesure de s'authentifier à l'ANNONCE via passeport-ldapauth.
Une clé a été de savoir pour utiliser le serveur choisit qui sont différentes que dans certains LDAP exemples en ligne
Vous devez également savoir si vous avez besoin d'ldaps et TLS ou pas. (Je n'ai pas) j'ai passé une bonne quantité de temps à creuser par le biais de ldapjs.org.
OriginalL'auteur Michael Oakley
Microsoft ont publié une bibliothèque officielle pour cette:
https://github.com/AzureAD/passport-azure-ad
Ajouter à votre projet de mnp directement:
Ou Auth0 de passeport-azure-ad-oauth2 pour OAuth2 flux.
OriginalL'auteur papercowboy
Je ne suis pas sûr de la façon flexible vous êtes avec vos exigences, mais je faisais des recherches sur le même sujet et je suis tombé sur une solution spécifique à partir de Microsoft qui utilise les services AD FS comme Oauth fournisseur de
https://msdn.microsoft.com/en-us/library/dn633593.aspx
Une lecture superficielle montre qu'un client web contacts AD pour avoir une JWT jeton, puis ce jeton est envoyé à votre serveur, qui authentifie le jeton avec le serveur AD.
AD serveur doit être configuré pour accepter votre serveur en tant que partie de confiance qui doit son identité de service.
OriginalL'auteur noderman