首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么AAD登录日志中没有记录通过OAuth ROPC流登录应用程序?

为什么AAD登录日志中没有记录通过OAuth ROPC流登录应用程序?
EN

Stack Overflow用户
提问于 2019-04-26 06:48:32
回答 1查看 94关注 0票数 1

当我在我的应用程序中使用ROPC (资源所有者密码凭证)让用户在我的应用程序中注册时,为什么我不能在AAD中看到任何登录日志?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-26 06:48:32

ROPC是在OAuth2协议中定义的:https://www.rfc-editor.org/rfc/rfc6749#section-1.3.3,它不包含在OpenID连接中。就像OAuth2中的其他流一样,它们是为保护API资源而设计的,而不是对用户进行身份验证。

AAD中的ROPC 的行为

对于ROPC流,用户在客户机应用程序端输入他/她的AAD用户名和密码。然后,客户端将用户的凭据发送给AAD。如下图所示:

这种行为可能导致主要风险:客户端可能存储和上传用户的AAD凭据,并将其用于其他事情。它可以作为一个钓鱼应用程序来获得用户的AAD证书。

通常,在基于索赔的身份验证中,客户端应该只获得由可信IDP发出的用户属性(例如,OIDC id_token中的声明、SAML令牌中的声明)来标识用户。客户端不应该为其他身份提供者获取用户的凭据。

为什么在AAD中仍然支持它?

我们可以看到很多客户希望使用ROPC流来委托用户权限来自动运行作业。我们的一些客户使用ROPC作为他们自己定制的登录体验。从微软方面来说,AAD支持ROPC流,因为我们能够真正理解它在某些特殊情况下是必要的。

那么,我们可以在其中使用ROPC的哪种应用程序?

  1. 所有客户端应用程序首先应该是公共客户端(本地应用程序)。
  2. 在微软的1派对应用程序中,比如Powershell。
  3. 在用户拥有/信任的应用程序中。

如何避免被提示登录的第三方应用程序钓鱼?

  • 确保页面提示您输入AAD用户凭据是AAD登录页面。您还可以在URL中检查域。应该以“https://login.microsoftonline.com/””开头。
  • 一般情况下,我们不应该将用户名和密码放在一个表单中。如果第三方应用程序要求您输入您的AAD用户名和密码的一种形式,您需要小心,不要试图通过您的AAD凭证登录在这里。因为AAD不提供任何登录页面,因此当前不允许您以一种形式输入用户凭据。

总的来说,用户通过ROPC流登录可能是客户端的登录事件,但它不是AAD的登录事件,因为用户没有在AAD中签名。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55862214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档