我一直在努力让 OAuth 在我的 MVC4 移动应用程序上工作。
我基本上
- 创建了一个 MVC4 移动应用程序
- 创建了一个 MVC4 Web 应用程序
- 将 AccountController、AccountModel、InitializeSimpleMembershipAttribute 和所有帐户视图复制到我的 MVC4 移动应用程序中
- 启用 Google 和 Facebook OAuth 提供程序
- 我还确保 RoleManager 是根据simplemembershipprovider-not-working初始化的,尽管我认为这并不重要。(我需要它来测试一些基于角色的安全性)
- 通过设置 data-ajax="false" 禁用 ajax(我认为):(
using (Html.BeginForm("ExternalLogin", "Account",new RouteValueDictionary { { "ReturnUrl", ViewBag.ReturnUrl } }, FormMethod.Post, new Dictionary<string, object> { { "data-ajax", false } }))
这似乎对页面没有任何影响 - 所以我可能在这里做错了什么......)
我可以进入 LogIn 视图 /Account/Login,当我单击 google 按钮时,调试器会进入public ActionResult ExternalLogin(string provider, string returnUrl)
但是 -public ActionResult ExternalLoginCallback(string returnUrl)
永远不会被击中。在视觉上,我得到了 jquery 移动“页面加载”动画 - 然后我得到“错误加载页面”
我有两个问题:
- 当我试图弄清楚发生了什么时,如何获得更多信息?
- 如何让 OAuth 在我的 MVC4 移动网站上运行?
顺便说一句:两个站点都针对 .Net4.0