使用 Microsoft Azure 进行身份验证时如何使用 nativeclient redirect URI?
How to use nativeclient redirect URI when authenticating with Microsoft Azure?
我正在试用 Microsoft Azure 并使用 OAuth2 从 Flutter 应用程序登录。我正在使用 flutter_appauth 插件登录,并且按照该插件说明中的说明设置了自定义 URI 方案。就我而言,我使用 com.onmicrosoft.example.mytestapp://oauth/redirect
.
事情按预期进行,我可以登录并获得 ID 令牌,但有一件事仍然有点令人费解:在 Microsofts documentation 中,它说:
For native & mobile apps, you should use the default value of https://login.microsoftonline.com/common/oauth2/nativeclient
该 URI 也是在 Azure 门户中为我的应用程序自动创建的 URI 之一。在我的移动应用程序中使用它不起作用 - 但使用自定义方案可以。使用该 URI 而不是我的自定义方案 URI 是否更好,如果是这样,我如何让它与我的 Flutter 应用程序一起使用?
正如您所说,自定义方案 URI 是最常见的选项,并且通常与 AppAuth 一起使用。如果使用旧的(已弃用的)webview 登录,您只能使用 Microsoft 回调 URL,这些登录被某些提供商阻止,例如 Google.
安全纯粹主义者的观点
最近 Financial Grade APIs Recommendations 建议将已声明的 HTTPS 方案作为更高安全性应用程序的首选移动选项。
在这种情况下,您需要拥有 HTTPS 域,并且 link 通过在线资产文件将其添加到您的移动应用程序的数字签名中。当然,您不能为 Microsoft URL.
执行此操作
我的资源
我的博客提供了有关使用 AppAuth 声明的 HTTPS 方案的更多信息,包括您可以从本地 PC 运行 获取的代码示例,以防您希望进一步查看该区域。不过实现起来比较困难:
我正在试用 Microsoft Azure 并使用 OAuth2 从 Flutter 应用程序登录。我正在使用 flutter_appauth 插件登录,并且按照该插件说明中的说明设置了自定义 URI 方案。就我而言,我使用 com.onmicrosoft.example.mytestapp://oauth/redirect
.
事情按预期进行,我可以登录并获得 ID 令牌,但有一件事仍然有点令人费解:在 Microsofts documentation 中,它说:
For native & mobile apps, you should use the default value of
https://login.microsoftonline.com/common/oauth2/nativeclient
该 URI 也是在 Azure 门户中为我的应用程序自动创建的 URI 之一。在我的移动应用程序中使用它不起作用 - 但使用自定义方案可以。使用该 URI 而不是我的自定义方案 URI 是否更好,如果是这样,我如何让它与我的 Flutter 应用程序一起使用?
正如您所说,自定义方案 URI 是最常见的选项,并且通常与 AppAuth 一起使用。如果使用旧的(已弃用的)webview 登录,您只能使用 Microsoft 回调 URL,这些登录被某些提供商阻止,例如 Google.
安全纯粹主义者的观点
最近 Financial Grade APIs Recommendations 建议将已声明的 HTTPS 方案作为更高安全性应用程序的首选移动选项。
在这种情况下,您需要拥有 HTTPS 域,并且 link 通过在线资产文件将其添加到您的移动应用程序的数字签名中。当然,您不能为 Microsoft URL.
执行此操作我的资源
我的博客提供了有关使用 AppAuth 声明的 HTTPS 方案的更多信息,包括您可以从本地 PC 运行 获取的代码示例,以防您希望进一步查看该区域。不过实现起来比较困难: