2015-02-23 124 views
0

我正在使用ADAL登錄到我的應用程序,該應用程序正在針對Azure AD的Xamarin.Forms中製作。這一切都工作正常,但我現在想要能夠註冊一個新用戶,並做到這一點需要一個訪問令牌傳遞給我的方法之一的構造函數。從Azure AD獲取訪問令牌(無用戶憑據)

但是,由於用戶尚未註冊,我需要能夠從Azure AD獲取訪問令牌,而無需實際提供任何用戶憑據。我被告知,在一個普通的網絡應用程序中,我可以發送客戶端ID和應用程序密鑰,以便Azure AD知道我是誰,然後發回給我一個訪問令牌,但我無法弄清楚如何在一個跨平臺的Xamarin應用程序中實現這一點。

如果有人遇到過這個,你的幫助將不勝感激。

謝謝。

回答

0

建議不要在本機應用程序中使用應用程序密鑰,無論使用何種軟件來實現它。原因是通常設備不應該被信任的祕密。此外,祕密分發是複雜的(您不能將其嵌入到應用程序代碼中)。 因此,Xamarin的ADAL(以及ADAL的所有其他口味都意味着用於本機應用程序)不會公開任何使用應用程序密鑰獲取令牌的方法。 從antive應用程序,你真的需要引導與用戶身份的安全通信。一旦你有了這些,你就可以在服務器端做各種有趣的事情(例如,你的API可以在服務器上運行,獲取令牌作爲應用程序)。 HTH V.

+0

因此,如果我使用用戶標識保護連接,這是否意味着我可以從Azure AD獲取訪問令牌,而無需輸入或發送任何用戶憑據? – Mike 2015-02-26 09:23:48

+0

從原生應用程序到您的Web API,您*需要*作爲用戶進行身份驗證才能獲得令牌。一旦您的API正在執行,它可以在服務器端獲得新的令牌而無需用戶干預 - 但是,如果沒有初始令牌,您無法保護對API的調用,並強調必須從本機客戶端獲得令牌一個用戶。有關令牌獲取模式列表,請參閱https://msdn.microsoft.com/en-us/library/azure/dn499820.aspx Azure AD支持 – vibronet 2015-02-26 09:28:13

+0

好吧,如果我無法獲取令牌而未經過身份驗證作爲用戶,如何在Azure AD中註冊新用戶?如果我正在註冊一個新用戶,他們將不具備使用API​​進行身份驗證所需的憑據,或者在爲我的應用程序註冊新用戶時不需要傳遞令牌? – Mike 2015-02-26 09:46:20