标签: ldapjs

错误 您的锁定文件需要更新,但纱线是使用“--frozen-lockfile”运行的

我的yarn.lock 文件中的一个依赖项存在问题。问题出在 ldapjs 上,最新版本有一个关于用户或密码中特殊字符的错误,所以我想将其冻结在最新的工作版本 1.0.2 中。

当我将代码提交到 master 分支时,构建该项目的步骤开始失败,说出标题的消息。

这是我的 dockerfile

FROM repository/node-oracle:10.15.3

LABEL maintainer="Me"

RUN yarn cache clean

# Add Tini
ENV TINI_VERSION v0.18.0
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /tini
RUN chmod +x /tini
ENTRYPOINT ["/tini", "--"]

WORKDIR /usr/src/auth

COPY . .

RUN yarn install --frozen-lockfile --non-interactive --silent

ENV PATH /usr/src/auth/node_modules/.bin:$PATH

EXPOSE 3000

CMD ["node", "./bin/www"]
Run Code Online (Sandbox Code Playgroud)

有什么办法可以让我完成这项工作吗?

另外作为额外信息,我能够在功能分支中通过此步骤运行管道,该消息在开发和主分支中启动。

[更新]

这些是在我的yarn.lock 文件中更新和冻结的依赖项

activedirectory@^0.7.2:
  version "0.7.2"
  resolved "https://registry.yarnpkg.com/activedirectory/-/activedirectory-0.7.2.tgz#19286d10c6b24a98cc906dc638256191686fa91f"
  integrity sha1-GShtEMaySpjMkG3GOCVhkWhvqR8=
  dependencies:
    async ">= 0.1.22"
    bunyan ">= 1.3.5"
    **ldapjs "=1.0.2"**
    underscore ">= 1.4.3"

***ldapjs@1.0.2***:
  version …
Run Code Online (Sandbox Code Playgroud)

continuous-integration node.js ldapjs yarnpkg yarn-lock.json

30
推荐指数
2
解决办法
4万
查看次数

nodejs ldap 身份验证失败

我正在使用 activedirectory npm 包对企业中的 activedirectory 进行身份验证。发现验证问题,而我之前在其他软件中已经多次这样做了。

var ActiveDirectory = require('activedirectory');
var config = { url: 'ldap://<ldap server>:389',

            baseDN:'DC=ads,DC=dwdwdw,DC=com',
            bindDN: 'CN=dddd,OU=ServiceAccounts,OU=Process,DC=ads,DC=dwdwdw,DC=com',
            bindCredentials: 'vBAX5y5@',
            includeMembership:['user'],
             referrals: {
                 enabled: false,
                 excluded: [ ]
               },
               attributes: {

                   user: [ 'sAMAccountName' ],
                   group: [ 'distinguishedName' ]
                 },
               //filter: '(&(objectcategory=person)(objectclass=user)(|(samaccountname={{username}})(mail={{mail}})))'
                 //filter: '(&(objectcategory=*)(|(samaccountname={{username}})))'

             }

var sAMAccountName = 'sss';
var password = 'password';
var username = sAMAccountName;
ad.authenticate(sAMAccountName, password, function(err, auth) {
  if (err) {
   console.log('ERROR: '+JSON.stringify(err));
   return;
 }
Run Code Online (Sandbox Code Playgroud)

当我运行此 nodejs 脚本时,出现以下错误:

错误:{“lde_message”:“80090308:LdapErr:DSID-0C09042F,评论:AcceptSecurityContext 错误,数据 52e,v2580\u0000”,“lde_dn”:null}

可以肯定地说,我不知道我在做什么。

但我知道 searchAttribute …

node.js ldapjs

6
推荐指数
0
解决办法
3429
查看次数

将ldapjs与bluebird承诺一起使用

我在这里发布了类似的东西:使用带有承诺的ldapjs.不幸的是,它仍未解决.

这次我尝试了蓝鸟,希望我能得到一些运气.

// https://www.npmjs.com/package/ldapjs
var Promise = require('bluebird');
var ldap = Promise.promisifyAll( require('ldapjs') );
var config  = require('./config');
var print_r = require('print_r').print_r;


var my_filter = "(&(objectCategory=person)(objectClass=user)" + "(cn=" + 'someone' + "))";
var ldap_username = config.ad.username;
var ldap_password = config.ad.password;
var ldap_url = config.ad.url;
var ldap_dn_search = config.ad.dn_search;

process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
ldap.Attribute.settings.guid_format = ldap.GUID_FORMAT_B;


var opts = {
  filter: my_filter,
  scope: 'sub',
};


//test
console.log(my_filter);
console.log(ldap_username);
console.log(ldap_password);
console.log(ldap_url);
console.log(ldap_dn_search);


/* NOTE: This code is working!!!
client.bind(ldap_username, ldap_password, function …
Run Code Online (Sandbox Code Playgroud)

javascript node.js promise bluebird ldapjs

5
推荐指数
1
解决办法
1269
查看次数

使用 React Native 和 Firebase 自定义令牌在 LDAP 服务器上进行身份验证

我正在尝试通过 LDAP 服务器对我的用户(从我的 RN 应用程序)进行身份验证(我已经找到一个尝试在此处进行身份验证,并且它有效!)。每次收到用户的凭据(用户名和密码)时,我都可以使用 Firebase 创建自定义令牌,并将其保存在 Firebase 实时数据库中。

主要问题是我不知道如何将我的应用程序与 LDAP 服务器连接,我调查并发现我必须安装openLDAPldapjs之类的东西,但我不明白如何进行身份验证我的猜测是:

  1. 用户登录我的 RN 应用程序
  2. RN 应用程序将凭据发送到 Firebase
  3. Firebase 创建自定义令牌(使用 Firebase 函数生成自定义令牌)
  4. Firebase 将自定义令牌返回给 RN 应用程序
  5. RN应用程序将令牌发送到LDAP服务器(服务器有预定的用户和密码用于测试)
  6. LDAP 服务器验证令牌,因此,身份验证
  7. LDAP 服务器向 RN 应用程序返回属性或“未找到”
  8. RN 应用程序授予/拒绝对应用程序的访问

任何帮助或建议都会受到欢迎,谢谢:) 抱歉我的英语不好。

openldap ldapjs react-native firebase-authentication firebase-admin

3
推荐指数
1
解决办法
2126
查看次数

使用带有 Promise 的 ldapjs

我想将以下代码转换为使用 Promise。它正在工作并输出活动目录中的用户属性。

var client = ldap.createClient({
  url: ldap_url
});

client.bind(ldap_username, ldap_password, function (err) {
    client.search(ldap_dn_search, opts, function (err, search) {
        search.on('searchEntry', function (entry) {
          var user = entry.object;
          // It is working!!!. It outputs all user attributes.
          console.log(user);
        });

    });
}); 
Run Code Online (Sandbox Code Playgroud)

以下是我的尝试,但它没有输出任何内容。

var Promise = require('promise');
var client_bind = Promise.denodeify(client.bind);
var client_search = Promise.denodeify(client.search);

client_bind(ldap_username, ldap_password)
.then(function(err){
  client_search(ldap_dn_search, opts)
    .then(function(search){
      var search_on = Promise.denodeify(search.on);
      search_on('searchEntry')
        .then(function(entry){
          var user = entry.object;

          // It doesn't output anything !!!
          console.log(user);
        });
      });

    });
Run Code Online (Sandbox Code Playgroud)

javascript node.js promise ldapjs

1
推荐指数
1
解决办法
6854
查看次数

Ldapjs 搜索不起作用

我正在尝试使用“搜索”方法在 ldapjs 中进行搜索,但它对我不起作用。

这是来自终端的回应:

> Result is: SearchResponse {
  messageID: 2,
  protocolOp: 101,
  controls: [],
  log: 
   Logger {
     domain: null,
     _events: {},
     _eventsCount: 0,
     _maxListeners: undefined,
     _isSimpleChild: true,
     _level: 30,
     streams: [ [Object] ],
     serializers: 
      { req: [Function: req],
        res: [Function: res],
        err: [Function: err] },
     src: false,
     fields: 
      { name: 'ldapjs',
        component: 'client',
        hostname: 'nichita-Lenovo-ideapad-500-15ISK',
        pid: 29307,
        clazz: 'Client' } },
  status: 0,
  matchedDN: '',
  errorMessage: '',
  referrals: [],
  connection: 
   TLSSocket {
     _tlsOptions: 
      { pipe: undefined,
        secureContext: [Object],
        isServer: …
Run Code Online (Sandbox Code Playgroud)

javascript ldap ldapjs

0
推荐指数
1
解决办法
6457
查看次数