我正在使用 Azure 的 MobileServiceClient sdk 对我的服务器进行身份验证。随着升级到 4.x 版本,我还使用 Xamarin.Auth 通过 Google 和 Facebook 对用户进行身份验证。当响应从谷歌返回时,我得到了一个刷新令牌。然后我像这样调用移动服务 sdk:
var accessToken = account.Properties["access_token"];
var idToken = account.Properties["id_token"];
var zumoPayload = new JObject();
zumoPayload["access_token"] = accessToken;
zumoPayload["id_token"] = idToken;
var user = await client.LoginAsync(MobileServiceAuthenticationProvider.Google, zumoPayload, );
这项工作非常好。不起作用的是对 client.RefreshUserAsync() 的调用。每次说刷新令牌已过期或不再有效时都会抛出 403,即使我在登录后立即调用该方法也是如此。我根本没有看到很多使用 MobileServiceClient 4.x sdk 的示例,而且没有一个有如何使用刷新令牌的示例。
我也尝试在 zumo 有效负载中发送它,但它不起作用。我尝试在 Google 上使我的用户无效(我正在获取刷新令牌),尝试通过浏览器登录并转到 auth/me,但刷新令牌不存在。任何帮助都会很棒!