使用iOS 6 social.Framework(twitter oauth)登录ASP.NET MVC 4站点

我有一个使用ASP.NET MVC 4构建的站点,其内置的登录OAuth集成到Twitter。

我还有一个iOS原生应用程序,它使用social.Framework和twitter的反向身份validation来获取存储在设备上的Twitter帐户的oauth令牌+秘密。

如何将iOS凭据用于我的ASP.NET MVC 4站点上托管的页面和Web服务?

  1. 在AccountController.cs中,使用不同的URL克隆ExternalLoginCallback操作方法,并添加oath_token和oauth_token_secret方法参数。
  2. 删除VerifyAuthentication调用并检查。
  3. 检查User.Identity.IsAuthenticated,如果是,WebSecurity.Logout()并返回Redirect(Request.Url.ToString())。
  4. 调用Twitter的/account/verify_credentials.json(签名)来validationoauth令牌并获取screen_name。 确保使用RFC3896编码(例如%2B不是%2b)或它不起作用。
  5. 用“twitter”替换result.Provider。
  6. 将result.ProviderUserId替换为screen_name。