2017-03-08 37 views
0

複製我有一個Azure的網站(使用VS2015社區建),使用「社會」登錄來進行驗證。外部授權作品在Azure上 - 如何在本地主機

我已經成功地部署工作的PoC天青它高興地驗證使用Google+或Microsoft帳戶身份驗證服務用戶 - 即Azure的應用程序服務正確配置爲這兩個供應商支持社會登錄。

的問題是,我不知道如何複製這一對本地主機的發展;當點擊其中一個鏈接(例如MS鏈接)時,瀏覽器導航到http://localhost:60380/.auth/login/microsoftaccount,並且我毫不意外地獲得了HTTP錯誤404.0 - 未找到。

問題:有沒有一種方法可以配置我的解決方案/本地環境使用社交身份驗證進行身份驗證,同時在本地主機上運行?像谷歌這樣的服務提供商似乎沒有讓你指定本地主機地址的問題。

我的網站上有,我想執行一些很基本的授權檢查,我當然希望先做到這一點對我的開發環境。

供您參考 - HTML /登錄鏈接:

<a href="/.auth/login/microsoftaccount">Microsoft Account</a> 
<a href="/.auth/login/Google">Google Account</a> 

谷歌API管理器配置 - 授權JavaScript源

https://[my site].azurewebsites.net 
http://localhost:60380 

回答

1

根據你的描述,我假設你正在使用Azure的應用程序的Authentication/ Authorization該服務爲您提供了一種簡單的方法來保護您的應用程序,而無需更改應用程序後端的任何代碼。

正如我知道,當你的應用程序託管在Azure上,那麼你可以採取「簡單驗證」功能的優勢。但在本地開發時,我認爲您需要編寫代碼以支持「社交」登錄進行身份驗證。欲瞭解更多詳情,你可以按照這個tutorial

此外,您可以按照此Architecture of Azure App Service Authentication/Authorization和此tutorial更好地瞭解Easy Auth。

+0

您對我的情況的一般理解是正確的。也就是說,你提到的第一個教程非常好,但是對於一個更全面的OWIN類型的解決方案來說,就像我在一個簡單的方法之後一樣。 –

1

集成身份支持是App Service的一項功能,無法輕鬆移至本地主機開發。如果您需要在開發機器上進行本地測試,則需要自己模擬身份組件。

如果你正在建設一個移動應用程序,對於本地調試,這可能是有幫助的一些支持:https://github.com/Azure/azure-mobile-apps-net-server/wiki/Local-development-and-debugging-the-Mobile-App-.NET-server-backend

否則,我建議你創建第二個Web應用程序使用集成開發/測試。這並不方便,但Azure App Service通過Visual Studio支持遠程調試等。

+0

是的,我會得出同樣的結論。目前,我正在使用分割代碼方法,其中一小部分代碼以「prod」或「localhost」模式運行,這樣我就可以在任一環境中儘可能多地運行解決方案。它不是特別優雅,但可以正常執行(儘管存在潛在的安全漏洞 - 幸運的是,在這種情況下,威脅和風險水平相當低)。 –