【问题标题】:passing username/password to ADAL for Android将用户名/密码传递给 ADAL for Android
【发布时间】:2018-07-15 11:44:40
【问题描述】:

我正在尝试使用 ADAL (Azure AD) 的用户名和密码设置登录。

我使用微软通过 Maven 发布的库:

implementation 'com.microsoft.aad:adal:1.11.0'

但这个似乎只支持通过弹出屏幕登录,来自 SDK。我想自己提供用户名和密码,就像在 C# 中可能的方式一样 (https://github.com/Azure-Samples/active-directory-dotnet-native-headless)

我在这里检查了“答案”:Authenticate the user on Azure AD using ADAL library from Android native app,但它指向其他项目,但仍然没有提供有关哪个调用接受密码的信息。

我开始认为这已被删除。谁能指出我正确的方向?

【问题讨论】:

  • 嗨,我还想写下我的电子邮件在我的 Stackoverflow 个人资料中。请随时与我们联系以进一步讨论您的方案。我很想进一步了解这个案例,看看我们是否可以为下一代库 (MSAL) 提供支持。

标签: android oauth-2.0 azure-web-app-service adal


【解决方案1】:

ADAL Android 不支持用户名/密码流(也称为资源所有者密码授予)。您可以提交request through UserVoice,包括您尝试实施的方案(有助于理解请求)。

一般来说,我强烈建议您不要使用此流程,因为它非常脆弱(例如,如果遇到 MFA,应用程序将失败)并且需要您捕获最终用户的凭据,并且可能不安全。 Here's a great blog post 说明使用此流程的原因。

【讨论】:

  • 感谢您的回复并积极参与 SO!我的场景是,客户不想要不同的 UI,所以没有弹出窗口来输入凭据。他们为电子邮件/密码设计了一个 UI,并希望使用它。此外,它似乎在 C# 中是可行的,那么为什么不把选择也交给其他平台呢?
  • @Boy 这是一个受欢迎的要求,完全可以理解。您(和您的客户)是否评估了登录页面 customization and branding features 并发现这还不够?这样做的好处是,他们的所有 Azure AD 和 O365 登录页面都具有一致的登录页面。话虽如此,这是一个受欢迎的要求,而且动机很明确。最大的问题是流程的所有限制:MFA(可以随时打开)、未经同意、有些危险等。
  • 我会补充一点,我们正在评估其他平台对用户名/密码支持的请求,并且了解该场景会有所帮助(谢谢!)。如果我们决定扩大支持,它可能会被添加到MSAL libraries (Azure AD v2.0 endpoint。如果您想进一步聊天,请随时直接联系,我的电子邮件在我的 SO 个人资料中。
  • 我们采用默认流程,使用 WebView 让用户登录。感谢您的宝贵时间!
猜你喜欢
  • 1970-01-01
  • 2011-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-25
  • 1970-01-01
  • 2020-02-15
  • 2015-11-11
相关资源
最近更新 更多