2016-07-09 1 views
6

나는 MS botframework V3를 사용하여 nodejs 자습서 코드를 사용하여 기본 봇을 만들려고하지만 에뮬레이터를 사용하여 401 Unauthorized를 계속받습니다. 도와주세요?봇 프레임 워크 v3 인증되지 않음

AppId/Secret이 env 변수에 설정되어 있으며 에뮬레이터에서 올바르게 맞습니다.

코드 아래

var restify = require('restify'); 
var builder = require('botbuilder'); 

//========================================================= 
// Bot Setup 
//========================================================= 

// Setup Restify Server 
var server = restify.createServer(); 
server.listen(process.env.port || process.env.PORT || 3978, function() { 
    console.log('%s listening to %s', server.name, server.url); 
}); 

// Create chat bot 
var connector = new builder.ChatConnector({ 
    appId: process.env.MICROSOFT_APP_ID, 
    appPassword: process.env.MICROSOFT_APP_PASSWORD 
}); 
var bot = new builder.UniversalBot(connector); 
server.post('/api/messages', connector.listen()); 

//========================================================= 
// Bots Dialogs 
//========================================================= 

bot.dialog('/', function (session) { 
    session.send("Hello World"); 
}); 

답변

6

V1에서

가 인증 속성이 키에 저장된 botframework 웹 사이트에 명시된 바와 같이 APPID 및 appSecret MicrosoftAppId에 각각

MicrosoftAppPassword을 변경해보십시오 :

  • AppId
  • 그래서 : 편집

  • MicrosoftAppId
  • MicrosoftAppPassword
  • :
  • AppSecret
  • V3에서

, 기본 인증 모델에 대한 변경 사항을 반영하기 위해,이 키에 변경되었습니다 Steven이 github에 게시 한 실제 값은

입니다.3210
  • 인해 배치 그러나 그들이 작동해야 노드 SDK의 문제에 appPassword

    이 값은 에뮬레이터 작동하지 않습니다

  • 을 APPID.

링크 : https://github.com/Microsoft/BotBuilder/issues/625

+0

감사합니다. 설명서에는 여전히 이전 키가 모두 나와 있습니다. –

+0

도움이된다면 답을 주시길 바랍니다 :) – xanish

+0

실제로 나는 그 해결책이 실제로 해결책이 아니었다 고 생각합니다. 이러한 값을 변경하면 AppId/AppSecret이 검색되지 않으므로 인증이 비활성화됩니다. –

0

나는 문제 같은 데,하지만 위의 솔루션을 작동시킬 수 있습니다. 제안하는 것처럼 보입니다. id 및 pw에 대한 값을 입력 할 수 있습니다. 발견되지 않으면 승인이 해제됩니까? 이 올바른지? 나는이

var connector = new builder.ChatConnector({appId:'999', appPassword: 'xxxx'}); 

을 시도, 나는 내 자신에 APPID과 암호를주고 있었다 처음으로 에뮬레이터를 사용하는 동안 나는 여전히 401

+0

나는 이것이 정확하다고 생각한다. 내 경우에는 다음을 수행했습니다. 1) Windows에서 NodeJS를 최신으로 업데이트 2) 모든 NPM 패키지를 삭제하고 다시 빌드합니다. 3) 봇 에뮬레이터에서 내 설정을 변경하여 사용자 이름/암호를 지우고 127.0.0.0 대신 localhost를 사용하십시오. 1 및 에뮬레이터에서 작동하기 시작했습니다. –

1

를 얻을. 나는 아무 응용 프로그램 ID도 비밀 번호도 로컬에서 잘 작동하는 것을 배웠습니다.

: 봇 응용 프로그램과 에뮬레이터의 web.config에서 appid와 암호를 제거하면 오류가 해결되었습니다. 희망이 도움이됩니다. 건배!

관련 문제