我有一个带有WebApi 2后端的基本SPA模板,它使用Microsoft帐户作为外部登录提供程序。我还有一个WP8客户端,其中用户可以使用他们的Microsoft帐户登录,SPA和WP8客户端都使用ClientId,因此具有相同电子邮件地址的用户在两个客户端中获得相同的标识符(存储在db的ProviderKeys匹配id的他们登录手机时的相同用户。)
当用户通过浏览器登录时,我可以通过持有者令牌获取access_token并验证他们对api做出的进一步请求,这很有效,每次都返回200。在WP8客户端上它不起作用,但这就是我获取令牌的方式:
LiveAuthClient Auth = new LiveAuthClient("0000000041422E16");
//some code removed
LiveConnectClient connect = new LiveConnectClient(Auth.Session);
string access_token = connect.Session.AccessToken;
//use token to send a http request to an authorized endpoint
我用Fiddler来测试访问令牌,而WebApi总是返回401,我在这里做错了什么? Live SDK客户端发回的令牌是否有效用于WebApi端点上的身份验证?