通过Microsoft Azure进行身份验证时如何使用nativeclient重定向URI?

时间:2020-10-25 19:26:40

标签: azure flutter authentication oauth-2.0 msal

我正在玩Microsoft Azure,并使用OAuth2从Flutter应用程序登录。我正在使用flutter_appauth插件登录,并且已经按照该插件说明中的说明设置了自定义URI方案。就我而言,我正在使用com.onmicrosoft.example.mytestapp://oauth/redirect

一切正常,我可以登录并获得ID令牌,但还有一点令人困惑:在Microsofts documentation中,它表示:

对于本机和移动应用程序,应使用默认值https://login.microsoftonline.com/common/oauth2/nativeclient

该URI也是Azure门户中为我的应用程序自动创建的URI之一。在我的移动应用中使用它不起作用-但使用自定义方案则可以。使用该URI代替我的自定义方案URI更好吗?如果可以,如何将其与Flutter应用程序配合使用?

1 个答案:

答案 0 :(得分:1)

如您所说,

自定义方案URI是最常见的选项,通常与AppAuth一起使用。如果使用的是旧的(不建议使用的)Webview登录名,但被某些提供商(例如Google)阻止,则只能使用Microsoft回调URL。

安全的纯视角

最近的Financial Grade APIs Recommendations建议声明HTTPS方案作为更高安全性应用程序的首选移动选项。

在这种情况下,您需要拥有HTTPS域,并通过在线资产文件将其链接到移动应用程序的数字签名。当然,您不能对Microsoft URL执行此操作。

矿山资源

我的博客上有有关使用AppAuth声明HTTPS方案的更多信息,包括您可以在本地PC上运行的代码示例,以防您需要进一步检查。但是,实现起来很困难: