2017-10-19 150 views
2

我得到了一個Xamarin Form 2.4項目,該用戶使用Azure AD v2.0端點進行身份驗證。來自Xamarin的登錄部分工作良好。但是我可以找到使用收到的令牌的正確方式將它傳遞給Azure MobilApp以消費一些數據? 現在登錄在Xamarin項目出現,如:使用令牌進行MobileApp身份驗證的Azure AD v2.0

ar = await App.PCA.AcquireTokenAsync(App.Scopes, App.UiParent); 

那麼我可以用ar.AccessToken調用圖形V1.0得到一些用戶信息。我如何爲Azure AppService執行相同的操作?

我這樣說的:https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-devquickstarts-webapp-webapi-dotnet

但我認爲這是更多的在對V2.0端點認證在Azure門戶網站項目。在我的情況下,用戶已經通過身份驗證。 我想我需要在AzurePortal-> AppService-> Authentication/Authorization-> AD Provider-> Advanced中配置身份驗證。但我不知道要放什麼IssuerURL和AllowedTokenAudience VS在我app.dev.mocrosoft.com(公元V2.0端點)的信息...... 然後,我可以在我的AppService服務的身份驗證設置,並設置採取行動當請求未通過身份驗證時:使用Azure AD登錄?

我在想: 1-日誌與AcquireTokenAsync天青AD 2.0門戶 2 - 使用標記爲「登陸​​」我的AppService服務或在我AppService服務調用服務時使用它在請求頭 3-消費數據/服務

有什麼建議嗎? 謝謝,

回答

0

Azure AD v2.0端點目前只能獲取Microsoft Graph的令牌,因此它可能不是您想要的,除非您希望Azure Mobile App正在嘗試調用圖表。

如果您發現需要調用不同的API,則您使用的庫(MSAL)也將需要更改爲(ADAL .NET),並且您需要在Azure portal上重新註冊您的應用程序。

如果你的目標是通過編程部署Azure的應用服務部署,那麼我建議使用Azure Resource Manager這是管理各種資源Azure的服務。爲此,您可能需要將您的驗證模型更改爲Azure AD v1.0 endpoint

我還會掉落link to Azure App Services如果我誤解了你的問題,可以幫助。

+0

感謝您的回答!我想我使用的是AD v2.0,因爲我遵循Xamarin.Forms和身份驗證的程序,我一直在想這就是實現它的方法。我的應用程序將使用Azure AppService,脫機DB,通知並且不使用Microsoft帳戶(僅限公司AD帳戶)。因此最終不需要v2.0端點。我想我會嘗試找到正確的方式給用戶AD v1.0和AzurePortal在Xamarin.Forms 2.4 –

+0

我想我開始使用,因爲Microsoft.Identity.Client和PCA.AcquireTokenAsync或簡單的AD V2.0 AcquireSilentTokenAsync和「web登錄AD窗口」。什麼是AD v1.0的等效庫? –

+0

@Pierre等效庫是[ADAL](https://www.nuget.org/packages/Microsoft.IdentityModel.Clients.ActiveDirectory/)。您可以在[Azure AD開發者頁面](https://aka.ms/aaddev)中找到有關使用ADAL的更多文檔/示例。 –

相關問題