2017-03-14 5 views
1

우분투 16.04에서 실행되는 ejabberd (16.01) 서버가 있습니다. 다른 NodeJs 응용 프로그램이 다른 서버에서 실행되고 있습니다. NodeJs 응용 프로그램을 통해 https://docs.ejabberd.im/developer/ejabberd-api/에 주어진 ReST API를 사용하여 사용자를 추가하고, 명부를 추가하고 싶습니다.노드 js 앱을 통해 ejabberd ReST API에 액세스

이 연습에서는 https://docs.ejabberd.im/developer/ejabberd-api/simple-configuration/에 주어진 간단한 구성을 사용하고 있습니다. 구성에 아래 스 니펫을 추가하라고 나와 있습니다.

commands_admin_access: 
    - allow: 
     - user: "[email protected]" 
    commands: 
    - add_commands: [user, admin, open] 
    # Tokens are valid for a year as default: 
    auth_expire: 31536000 
    oauth_access: all 

문제는 문서에 이러한 구성을 추가해야하는 헤더를 지정하지 않았습니까? 이 구성의 정확한 위치는 완전히 누락되었습니다!

위의 구성을 파일 끝에 추가했습니다. 그러나 ejabberd 서버는 이러한 옵션을 인식하지 못합니다. 로그는 말한다 :

commands_admin_access: 
    - allow: 
    - user: "[email protected]" 
commands: 
    - add_commands: 
    - status 
    - registered_users 
    - register 
    - unregister 
# Tokens are valid for a year as default: 
auth_expire: 31536000 
oauth_access: all 

api_permissions: 
    "API used from localhost allows all calls": 
    - who: 
     - ip: "168.63.209.95" 
    - what: 
     - "*" 
     - "!stop" 
     - "!start" 

나는이 문서는 매우 명확하지 않다 생각 :

validate_opts:792 unknown option 'auth_expire' will be likely ignored 
validate_opts:792 unknown option 'api_permissions' will be likely ignored 
validate_opts:784 ignoring option 'commands_admin_access' with invalid value: [[{allow,[[{user,<<"[email protected]">>}]]}]] 

아래는 내가 ejabberd.yml 파일에 추가 한 추가 구성입니다. 누군가 내가 여기서 잘못하고있는 것을 제안 할 수 있습니까? 아니면 내가하려고하는 것을 달성하기위한 다른 방법이 있습니까?

답변

1

아주 오래된 버전의 Ejabberd를 사용하고 있습니다. 최신은 16.01에서 API 권한 프레임 워크의 변경 사항이 많은 17.04입니다.

먼저, 경고하는 이유를 설명해주십시오.

  1. 'auth_expire'- 실제 매개 변수 이름은 'oauth_expire'입니다. 문서에 실수가있는 것처럼 보입니다. 코드는 this 링크를 참조하십시오.
  2. 'api_permission'-이 매개 변수는 16.12 버전에서 도입되었습니다. this 링크를 참조하십시오.
  3. 'commands_admin_access'- 16.01 버전에서이 매개 변수는 원자 만 입력으로 사용합니다. ACL 지원은 이후 릴리스에서 도입되었습니다. 따라서 ACL 규칙을 만들고 this과 같은 규칙 이름을 제공 할 수 있습니다.

이 매개 변수를 추가 할 위치에 대한 질문에 대답하십시오. yaml 형식의 지침을 따르는 한 원하는 곳에이 매개 변수를 추가 할 수 있습니다. 이것은 독립적 인 구성이므로 다른 구성 하에서는 안됩니다. 마지막에 넣을 수 있으며 문제없이 작동해야합니다.

+0

내가 한 발 맞춰 보자! 고마워, @ Darhan :) –