我正在使用 facebook/twitter 登录用户来验证我的 web api。我跟着这个
好吧,这很可能是我的什么。但是我的视图页面将以不同的方式托管。也就是说,用户将使用不同的页面登录,他们将发送一个 ajax 请求,从 api 控制器获取值。
我只会将 Web api 授权给已登录的用户。
我正在使用 facebook/twitter 登录用户来验证我的 web api。我跟着这个
好吧,这很可能是我的什么。但是我的视图页面将以不同的方式托管。也就是说,用户将使用不同的页面登录,他们将发送一个 ajax 请求,从 api 控制器获取值。
我只会将 Web api 授权给已登录的用户。
如果您所说的“不同托管”是指在不同的域上,那么您将无法在两者之间共享 cookie。如果您的意思是客户端是在设备上运行的 iOS 应用程序或 Windows Phone 应用程序,那么一般模式是使用“浏览器控件”并构建一个小的 UI 作为 API 站点的一部分。您可以在浏览器控件中向您的用户显示此 UI,然后将令牌刮掉。如果您使用 Azure ACS,则使用“javascriptnotify”协议会更容易,该协议可以将令牌推出浏览器控件。
我在这方面看到的最好的文章是http://www.cloudidentity.com/blog/2012/04/04/authenticating-users-from-passive-ips-in-rich-client-apps-via-acs- 2