【问题标题】:Azure AD B2C Native App Redirect_uri for Desktop Clients用于桌面客户端的 Azure AD B2C 本机应用程序 Redirect_uri
【发布时间】:2017-06-20 18:15:29
【问题描述】:

我正在尝试使用 Azure AD B2C 实现本机到 Web API 流。参考https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-reference-oauth-code

我一直在计算我们的重定向 uri。 Azure AD 仅支持自定义方案重定向 uri,我猜在身份验证浏览器尝试打开自定义重定向 uri 之后,操作系统应该能够处理它并在获取授权码的机器上打开一个应用程序。我想知道如何定义一个适用于所有平台(Linux/Windows/Mac)的 URI。

重定向 URI 应遵循 https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-app-registration#choosing-a-native-application-redirect-uri

触发对 Microsoft 页面的初始请求的桌面应用程序是 Python 控制台应用程序。

感谢任何帮助!

【问题讨论】:

  • 通常原生应用会显示它们控制的某种浏览器视图。他们可以监听 URL 的变化,当他们检测到它试图点击那个特殊的 URL 时,他们可以从那里获取授权码。我不做这个答案的唯一原因是因为我没有任何具体的例子:)
  • 对于重定向 uri 将是某个 appname://xyz 的移动设备也是如此。当操作系统看到这一点时,它将打开应用程序。但我不确定如何在桌面原生应用程序中执行此操作。

标签: python authentication native azure-active-directory azure-ad-b2c


【解决方案1】:

解决方案是在客户端机器上注册我们的自定义 uri 方案。因此,每当身份验证流程完成时,浏览器都会尝试发送重定向 uri 的请求,该 uri 将尝试调用桌面客户​​端上注册的应用程序。

在 Windows 上注册自定义 URI https://msdn.microsoft.com/en-us/library/aa767914(v=vs.85).aspx

在 Linux 上注册自定义 URI http://edoceo.com/howto/xfce-custom-uri-handler

一旦这些注册在 Azure 上设置 redirect_uri 到它 ex:vnc://testapp 和操作系统将识别此调用并使用 Authcode 打开应用程序,用户可以复制粘贴它并生成 access_token 和 refresh_tokens。

如果有人有更好的方法,请发布。

【讨论】:

    猜你喜欢
    • 2019-08-30
    • 2023-03-24
    • 2022-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多