外部授权适用于Azure - 如何在localhost上进行复制

时间:2017-03-08 04:32:42

标签: asp.net azure authentication azure-web-sites

我有一个Azure网站(使用VS2015社区构建),它使用“社交”登录进行身份验证。

我已成功将一个正常工作的PoC部署到azure,使用Google+或Microsoft帐户身份验证服务快乐地对用户进行身份验证 - 即Azure应用服务已正确配置,以支持来自这两个提供商的社交登录。

问题是我不知道如何在localhost上复制它以进行开发;当点击其中一个链接(例如MS一个)时,浏览器导航到http://localhost:60380/.auth/login/microsoftaccount,我不出所料地得到HTTP错误404.0 - 未找到。

问题:有没有办法在localhost上运行时使用社交身份验证配置我的解决方案/本地环境进行身份验证? Google等服务提供商似乎没有任何问题让您指定本地主机地址。

我的网站有一些我想要执行的非常基本的授权检查,我显然希望首先在我的开发环境中执行此操作。

供您参考 - HTML /登录链接:

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

Google API Manager配置 - 授权的JavaScript来源

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

3 个答案:

答案 0 :(得分:1)

根据您的描述,我假设您使用的是Authentication/ Authorization Azure应用服务,它为您提供了一种简单的方法来保护您的应用,而无需更改应用后端的任何代码。

众所周知,当您在Azure上托管应用时,您可以利用“Easy Auth”功能。但在本地开发时,我认为您需要编写代码以支持“社交”登录以进行身份​​验证。有关详细信息,请参阅此tutorial

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

答案 1 :(得分:1)

集成身份支持是App Service的一项功能,无法轻松转移到localhost开发。如果您需要在开发机器上进行本地测试,则需要自己模拟身份组件。

如果您正在构建移动应用程序,则可能会对本地调试提供一些支持,这可能会有所帮助: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支持远程调试等。

答案 2 :(得分:1)

我一直在争夺同样的过程。像这样的感觉是一个差距 - 我很乐意看到.auth管道作为开发环境的一部分。

目前,我使用此处定义的方法 - https://weblogs.asp.net/pglavich/easy-auth-app-service-authentication-using-multiple-providers,虽然笨拙但对我有用。