【问题标题】:Cortana Skill authentication from UWP app来自 UWP 应用的 Cortana 技能身份验证
【发布时间】:2019-05-12 23:07:18
【问题描述】:

我有一个使用命令(VCD 定义)集成 Cortana 的 UWP 应用。该应用需要用户登录(使用 Facebook 或 Google)。

现在我正在编写 Cortana 技能 - 它将提供与 UWP 应用相同的功能,但可以在其他设备上运行。要使其工作,用户需要登录,就像 UWP 应用程序一样。

我了解如何在 Cortana Skill(使用 BotBuilder)中完成登录 - 登录后,访问和刷新令牌以某种方式存储在用户的个人资料中,因此他不必在其他设备上再次登录。我实际上已经构建了它,因此用户可以在 Cortana 中使用 facebook/google 登录。

但我想从 UWP 应用程序执行此操作 - 即在用户登录 UWP 应用程序后,我想获取访问/刷新令牌并将其提供给某个 Microsoft 端点,这样用户就没有登录两次(一次在 UWP 中,第二次在 Cortana 中)。

这可能吗?有什么 API 可以用来做这个吗?

【问题讨论】:

    标签: c# uwp botframework cortana cortana-skills-kit


    【解决方案1】:

    通道 (Cortana) 使用“连接服务”处理 OAuth 流和令牌缓存。目前,Cortana 不支持单点登录或跨客户端身份。 (你是 UWP 应用,你的 Cortana 技能实际上是两个应用。)这并不意味着你需要使用“连接的服务”,但你将围绕处理刷新令牌之类的内置功能来实现。

    【讨论】:

    • 好吧,但是 to 应用程序如何通信呢?更具体地说,它们能否同时识别调用它们的用户?例如。用户通过 Facebook 登录 Windows 应用程序,如何将这些信息发送到机器人,当前用户(使用 Microsoft 帐户登录)使用他的 Facebook 帐户登录应用程序?
    • 我相信 OIDC 就是为此而设计的。您需要将其连接到您的机器人和客户端中。 docs.microsoft.com/en-us/azure/active-directory/develop/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-02
    • 2016-10-25
    • 2017-11-22
    • 2014-01-26
    • 1970-01-01
    • 1970-01-01
    • 2015-01-08
    相关资源
    最近更新 更多