2017-04-03 37 views
-1

我不需要Microsoft登录屏幕。通过任何方式,我们可以通过传递用户名并通过http请求获得来自Azure ADAL的访问令牌

如果我已经有我的用户名和密码, 不能我只是通过使用Http客户端,并获得身份验证令牌。

是否有可能,请提出建议。

+0

你现在是否解决了这个问题?如果您仍然有使用**资源所有者密码凭证流**的问题,请随时通知我。 –

+0

不能解决.. @飞雪MSFT – Abhi

+0

你可以建议任何工作示例为此实施.. – Abhi

回答

1

简短的回答是,这是可能的但不推荐(见下面Philippe的评论)。

当您拥有用户名和密码时获取令牌的能力非常有限。 当您的设备无法提示AAD身份验证页面,或者在本机应用程序/自动化测试等情况下,您可能可以在极少数情况下执行此操作。

请参阅此文章了解限制和变通方法:

http://www.cloudidentity.com/blog/2014/07/08/using-adal-net-to-authenticate-users-via-usernamepassword/

而且看这个答案从我这里,我把它给我们的自动化测试工作,但Vibronet有评论认为,这一解决方案将停止工作,但不知道它已经发生还是没有。

How to acquire a user based token from Azure Graph API

+0

你在开玩笑吗? http://azure-sdk-for-python.readthedocs.io/en/latest/quickstart_authentication.html?highlight=UserPassCredentials – 4c74356b41

+0

@ 4c74356b41是的,正如我所提到的,我现在使用User/Pass证书,但是作为他们的PM(Vibronet)提到,它最终会停止工作,除了某些情况下,他们不能使用AAD登录页面... – Aram

+0

所以答案是'是',而不是'否' – 4c74356b41

2

Azure的AD支持有关OAuth 2.0的各种流。要直接获取带有用户名和密码的访问令牌,我们可以与资源所有者密码凭证流进行交互。但是这种情况应该谨慎使用,因为它可能会泄露密码。您可以参考rfc6749#page-37关于规范的流程。

为了使用C#实现这个流程,您可以参考这个blog

相关问题