Exchange Web サービス エンドポイントを使用して、NodeJS アプリのログインを会社の Active Directory に統合しています。このようにして、提供された資格情報 (ユーザー名とパスワード) が Active Directory ユーザーの資格情報と一致するかどうかを検証できます。
これまでのところ、ユーザー名とパスワードのペアが有効かどうかを正常に検証できました。私が解決策を見つけることができなかったのは、ユーザー名を指定して電子メール アドレスを取得することです。
NodeJS アプリは会社のネットワークの外部でホストされるため、LDAP を使用して Active Directory を直接クエリすることはできません。利用可能なオプションは、Exchange Web サービス (2010) エンドポイントを使用することです。
現在、ResolveNames 操作を行っていますhttp://msdn.microsoft.com/en-us/library/exchange/aa563518(v=exchg.150).aspx
問題は、ユーザー名を値として Resolvenames を実行すると、UnresolvedEntry
複数の解決策が返されることです。たとえば、ユーザー名がjohn
あり、ディレクトリに他のジョンも存在する場合、Resolvenames
クエリはそれらも返します。
ユーザー名に EWS を使用して電子メール アドレスを明確に取得する方法を探しています (これは、EWS SOAP サービスのクエリに使用される有効な資格情報に対応します)。