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

问题描述

我正在玩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应用程序配合使用?

解决方法

如您所说,

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

安全的纯视角

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

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

矿山资源

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...