2017-04-03 39 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

相關問題