[英]Does Azure AD provide an API method to validate a user programmatically?
我想通过Web应用程序和本机移动应用程序验证Azure AD用户,尽管Azure AD不是我正在使用的唯一IdP。
我已经阅读了OAuth2文章,但是在跟踪API方法以针对用户进行验证时遇到了麻烦。 一个答案指出,您在获取令牌时可以传递username
和password
参数,但似乎无法对此进行验证。
有一个DotNet解决方案的示例,但我对.NET不熟悉-尝试运行它并遇到了System.TypeLoad异常( Could not load type of field 'Microsoft.Owin.Security.ActiveDirectory.WsFedMetadataRetriever:CS$<>9__CachedAnonymousMethodDelegate5'
)
我以前曾尝试设置SimpleSAML解决方案,但缺点是,对于本机应用程序,它需要额外的工作,可能不适合。
我建议您将用户重定向到Azure AD登录页面。
从技术上讲,您可以尝试使用“资源所有者密码凭据”授予来验证用户。 但是,它不会总是工作。
这涉及您使用类似于以下内容的表单数据向OAuth令牌端点发出POST请求:
grant_type=password&username=user@example.com&password=Password&client_id=your-client-id&client_secret=your-client-secret&resource=resource-you-want-the-token-for
该资源可能是https://graph.windows.net
因为默认情况下您可以访问该资源。 如果结果成功,则是,该用户存在并且凭据有效。
但是,如果失败,则可能由于以下原因而发生:
因此,在某些情况下它根本无法工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.