如何让Azure Active Directory B2C与Bot Framework一起使用?

use*_*709 6 azure azure-active-directory botframework

到目前为止,我还没有能够使用bot框架.我花了一整天但只设法得到.net api示例(https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet)与AD B2C合作.我不知道它抓住了我要传递给BotUserData的持票人令牌...

我试过跟随https://azure.microsoft.com/en-us/blog/bot-framework-made-better-with-azure/

但实际上解决方案没有成功构建,我只是从那里获取代码并进入我的机器人框架示例模板....但是,当它要求我通过MS登录时,我做了,我无法继续,似乎博客没有使用AD B2C政策.

那么如何将AD B2C与Bot Framework集成?是否可以从bot框架调用/ Account/SignIn URL来验证用户?之后,您将如何捕获令牌并将其传递给BotUserData?

Eze*_*dib 6

您可能需要查看Facebook Auth示例,以了解Auth场景的潜在流程.对于Azure AD,您需要执行类似的流程.

假设您的用户向您的机器人发送"登录"消息.机器人应该使用auth URL进行响应,并要求用户使用该URL登录服务.您可以使用ADAL的GetAuthorizationRequestURL方法.

然后,您将拥有一个Web API,它将基本上公开一个端点,该端点将是Azure AD的回复URL.用户完成登录后,将向您的Web API发送一条消息,您可以在其中获取授权代码并执行调用以获取访问令牌.之后,您可以像在Facebook Sample Web API中那样做,这包括恢复与Bot的对话,发送带有访问令牌的消息(因此它可以保存在PerUserInConversationData包中(检查行代码) ).

之后,您可以使用访问令牌来执行任何需要访问令牌的调用.

更新

您可能希望查看两个新样本,因为它们正在实施正在讨论的工作流程.

希望这可以帮助.