2016-04-30 4 views
6

Bisher konnte ich nicht mit dem Bot-Framework arbeiten. Ich verbrachte den ganzen Tag, aber nur geschafft, um. NET API Beispiel (https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet) mit AD B2C arbeiten. Ich bin mir nicht sicher, wo es den Inhaber Token packt, die ich BotUserData übergeben wollen ...Wie bekomme ich Azure Active Directory B2C mit Bot Framework?

Ich habe versucht folgende https://azure.microsoft.com/en-us/blog/bot-framework-made-better-with-azure/

aber in Wirklichkeit die Lösung baut nicht erfolgreich und ich habe zurückgegriffen Ich nehme nur Code von dort und in mein Bot-Framework Beispielvorlage ... aber wenn es mich fragt, mich über MS einzuloggen und ich, kann ich nicht fortfahren und es scheint nicht so, dass Blog das AD B2C verwendet Richtlinien.

Wie integrieren Sie AD B2C mit Bot Framework? Ist es möglich,/Account/SignIn URL vom Bot-Framework aus aufzurufen, um den Benutzer zu authentifizieren? Wie würden Sie danach das Token erfassen und an BotUserData übergeben?

+0

Nicht erfolgreich erstellt - haben Sie Fehler? –

+0

@AlexBelotserkovskiy ja: https://github.com/jeffhollan/BotFrameworkSample/issues/1 – user299709

Antwort

5

Sie können einen Blick auf die Facebook Auth sample werfen, um eine Vorstellung von einem potenziellen Fluss für das Auth-Szenario zu bekommen. Für Azure AD müssen Sie einen ähnlichen Ablauf durchführen.

Angenommen, Ihr Benutzer sendet eine "Login" -Nachricht an Ihren Bot. Der Bot sollte mit einer Authentifizierungs-URL antworten und den Benutzer auffordern, sich mit dieser URL beim Dienst anzumelden. Sie können dazu die Methode GetAuthorizationRequestURL von ADAL verwenden.

Dann verfügen Sie über eine Web-API, die im Grunde einen Endpunkt darstellt, der die Antwort-URL von Azure AD sein wird. Sobald die Benutzer die Anmeldung abgeschlossen haben, wird eine Nachricht an Ihre Web-API gesendet, wo Sie den Autorisierungscode erhalten und die Anrufe ausführen können, um den Zugriffstoken zu erhalten. Danach können Sie genau das tun, was sie in der Facebook Sample Web API tun, die beinhaltet, die Konversation mit dem Bot wieder aufzunehmen, eine Nachricht mit dem Zugriffs-Token zu senden (damit sie in der PerUserInConversationData Tasche (überprüfen this Zeile des Codes).

Danach haben Sie die Zugriffstoken zur Verfügung jeden Anruf auszuführen, die ein Zugriffstoken erfordert.

aktualisieren

Es gibt zwei neue Beispiele, die Sie einen Blick nehmen möchten, da sie die umsetzen Workflow wird diskutiert.

Hoffnung, das hilft.

+0

funktioniert dies mit AD B2C oder muss ich Vanille AD verwenden? – user299709

+0

@ user299709 mit Vanille AD funktioniert es sicher. Ich habe es nicht mit B2C versucht, aber ich vermute, dass es sehr ähnlich sein wird. –

+0

Ich teste es aus ... – user299709