【问题标题】:Send or remember password in AcquireTokenAsync azure AD in xamarin forms以 xamarin 形式在 AcquireTokenAsync azure AD 中发送或记住密码
【发布时间】:2019-11-26 06:56:21
【问题描述】:

是否可以在 Azure 的 AcquireTokenAsync API 中发送密码。使用当前的 UserCredential 只能传递用户名,并且用户每次都必须输入密码。有没有办法记住用户的密码?

【问题讨论】:

  • 听起来您的令牌缓存可能实施错误。可能是它没有在缓存中找到缓存的令牌,因此每次都需要身份验证。 “记住密码”不是解决方案,正确的令牌缓存是。
  • 我们获得了每 60 分钟过期一次的访问令牌。因此,过期后微软登录页面要求登录。目前正在自动填充从第一个身份验证响应中收到的用户名。但是有什么方法可以自动填充密码吗?想要使用 AD 5.0 中不支持的 UserPasswordCredential
  • 不,没有。您的应用应该能够通过刷新令牌获取新令牌,它不需要每小时要求登录。
  • 好的。我们如何检查令牌是否已过期并且必须刷新?我们在 web 服务调用之前调用 AcquireTokenSilentAsync 以检查相同的内容。但一个小时后它会提示登录。

标签: android asp.net xamarin azure-active-directory azure-functions


【解决方案1】:

使用标签,我知道您可能指的是 .net 库。这是一种在 Microsoft 库中将密码作为参数发送的方法。不建议使用此流程。它不会在每种情况下都成功,也不被认为是安全的。

Adal:结果 = await context.AcquireTokenAsync(resource, clientId, new UserPasswordCredential("john@contoso.com", johnsPassword)); GitHub wiki )

Msal : 结果 = await app.AcquireTokenByUsernamePassword(scopes,"joe@contoso.com",securePassword).ExecuteAsync(); GitHub wiki

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-21
    • 2016-08-15
    • 1970-01-01
    相关资源
    最近更新 更多