0

我正在尝试使用Azure AD B2C实现本机到Web API流。参考https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-reference-oauth-code针对桌面客户端的Azure AD B2C本机应用Redirect_uri

我被困在我们的重定向uri。 Azure AD仅支持自定义方案重定向uris,我猜在认证浏览器尝试打开自定义重定向uri之后,OS应该能够处理它并在获得授权码的机器上打开应用程序。我想知道如何定义一个适用于所有平台(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

被触发到微软网页的初始请求是一个Python控制台应用程序的桌面应用程序。

任何帮助表示赞赏!

+0

通常,本机应用程序显示它们控制的某种浏览器视图。他们可以监听URL中的更改,当他们检测到试图访问该特定URL时,他们可以从那里获取授权代码。我没有做出这个答案的唯一原因是因为我没有任何具体的例子:) – juunas

+0

这是移动设备的重定向uri将是一些appname:// xyz。当操作系统看到它时,它会打开应用程序。但我不确定如何在桌面原生应用中执行此操作。 –

回答

0

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

在Windows https://msdn.microsoft.com/en-us/library/aa767914(v=vs.85).aspx

在Linux上 http://edoceo.com/howto/xfce-custom-uri-handler

注册自定义的URI注册自定义的URI一旦这些注册成立REDIRECT_URI在Azure上它例如:vnc://testapp和操作系统会识别这个调用并打开应用程序用户可以复制的Authcode粘贴并生成access_token和refresh_tokens。

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