0

我正在尝试在我的 Xamarin Forms 应用程序中使用 Google 身份验证,方法是使用 Xamarin.Auth 执行客户端身份验证,然后将接收到的令牌传递给配置为使用 Google 身份验证的 Azure 应用服务自定义网站后端。

我从客户端上的 Xamarin.Auth 取回令牌就好了。但是,当我尝试使用 MobileServiceClient 的 LoginAsync 方法时,我得到一个异常,上面写着:

Newtonsoft.Json.JsonReaderException:解析值时遇到意外字符:<。路径 '',第 0 行,第 0 位置。

我发现了这篇文章: Xamarin MobileServiceClient RefreshUserAsync with Google 403,其中 rleffler 显然有这个工作,但我认为我不能直接向他发送消息。

这是我调用 LoginAsync 的代码:

MobileServiceClient client = new 
MobileServiceClient("http://<mywebsite>.azurewebsites.net");

            var zumoPayload = new JObject();
            zumoPayload["access_token"] = accessToken;
            zumoPayload["id_token"] = idToken;

            if (user == null)
            {
                string message;
                try
                {
                    user = await client.LoginAsync(MobileServiceAuthenticationProvider.Google, zumoPayload);
                    message = string.Format("You are now logged in - {0}", user.UserId);
                }
                catch (Exception ex)
                {
                    //This is where I catch the JsonReaderException
                    message = "You must log in. Login Required";
                }
            }
4

0 回答 0