2016-07-09 11 views
6

Ich versuche, MS BotFramework V3 zu verwenden, um einen einfachen Bot mit dem nodejs Tutorial-Code zu erstellen, aber ich 401 Unauthorized mit dem Emulator erhalten. Bitte helfen Sie?Bot Framework v3 nicht autorisierte

AppId/Secret werden in env Variablen gesetzt und definitiv im Emulator korrigiert.

-Code unten

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"); 
}); 

Antwort

6

versuchen, die appId und appSecret zu MicrosoftAppId und MicrosoftAppPassword Wechsel jeweils

Wie auf botframework Website angegeben

In V1, die Authentifizierungseigenschaften mit diesen Schlüsseln gespeichert wurden:

  • AppId
  • AppSecret

In V3, Änderungen an der zugrunde liegenden Auth Modell zu reflektieren, haben diese Tasten geändert worden:

  • MicrosoftAppId
  • MicrosoftAppPassword

Edit: Also, von einem Post auf Github von Steven sind die tatsächlichen Werte

  • APPID

  • appPassword

    Diese Werte werden nicht aufgrund eines Problems mit dem Knoten sdk jedoch mit dem Emulator arbeiten sie sollten, wenn sie entfaltet arbeiten.

-Link: https://github.com/Microsoft/BotBuilder/issues/625

+0

Danke - die Dokumentation erwähnt immer noch alle alten Schlüssel. –

+0

Bitte stimme die Antwort ab, wenn es dir geholfen hat :) – xanish

+0

Eigentlich denke ich, dass obige Lösung nicht wirklich die Lösung war. Wenn Sie diese Werte ändern, findet die App AppId/AppSecret nicht, sodass die Authentifizierung deaktiviert wird. –

0

ich das gleiche habe das Problem, aber ich kann die obige Lösung zu arbeiten. Es scheint darauf hinzudeuten, dass Sie beliebige Werte für ID und PW eingeben können. Wenn sie nicht gefunden werden, ist die Autorisierung deaktiviert? Ist das richtig? Ich habe versucht, diese

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

Und ich bekomme immer noch ein 401.

+0

Ich denke, das ist richtig. In meinem Fall habe ich folgendes gemacht: 1) Update NodeJS unter Windows auf den neusten Stand 2) lösche alle NPM Pakete und rebuild 3) ändere meine Einstellungen im Bot Emulator um den Benutzernamen/Passwort zu löschen und localhost anstelle von 127.0.0.0 zu verwenden. 1 und es begann im Emulator zu arbeiten. –

1

Während den Emulator zum ersten Mal verwendet wird, war ich ein appid und Passwort auf meinem eigenen zu geben. Ich habe gelernt, dass keine App-ID und kein Passwort auch lokal funktioniert.

: Das Entfernen der Appid und Passwort in der web.config in der Bot-Anwendung und im Emulator hat meinen Fehler behoben. Ich hoffe es hilft. Prost!

Verwandte Themen