gpt4 book ai didi

json - 将 oAuth token 与 Azure MobileServiceClient.login() 结合使用

转载 作者:行者123 更新时间:2023-12-03 03:15:40 25 4
gpt4 key购买 nike

我正在使用原生 Facebook SDK(通过名为“SimpleFacebook”的开源工具)通过 Facebook 进行身份验证。这部分工作得很好。我发现 Facebook 身份验证的 Microsoft Azure 实现存在缺陷。

无论如何,下一步是使用此 Facebook session 中的 token 并通过 MS/Azure 进行身份验证。有两种方法看起来应该可以完成这项工作

public void login(java.lang.String provider,
java.lang.String oAuthToken,
UserAuthenticationCallback callback)

使用特定于提供商的 oAuth token 调用 Windows Azure 移动服务身份验证

Parameters:
provider - The provider used for the authentication process
oAuthToken - The oAuth token used for authentication
callback - Callback to invoke when the authentication process finishes

还有另一个非常相似的方法,其中第二个参数是类型为 JSON 的对象:

com.google.gson.JsonObject oAuthToken,

是我一个人的问题还是这里缺少文档?我尝试仅调用 Facebook session 的 .getAccessToken() 并将其传递给函数,但我从 Azure 收到错误:

Caused by: com.microsoft.windowsazure.mobileservices.MobileServiceException: {"code":400,"error":"Error: invalid json"}
at com.microsoft.windowsazure.mobileservices.MobileServiceConnection$1.onNext(MobileServiceConnection.java:115)

我们如何知道正确的 JSON 格式是什么?我使用了正确的 token 吗?

更多信息可以在以下位置找到: at this Azure site

最佳答案

我想我已经弄清楚了。本质上我所要做的就是创建一个 JSON 对象(这对我来说相当新)。我之前尝试过,但导入了错误的 JSON 类(我导入了 org.json.JsonObject 或其他内容,而不是 com.google.gson.JsonObject)。

一旦我这样做了,我就必须弄清楚正确的 json 属性应该是什么。通过大量 Google 搜索,我发现这是正确的格式:

JsonObject jo = new JsonObject();
jo.addProperty("access_token", token);

然后在调用中使用 jo.toString(),如下所示:

mClient.login(MobileServiceAuthenticationProvider.Facebook, jo.toString(), new UserAuthenticationCallback() {
.....
}

确实没那么困难,但是为什么 Azure 团队不把这个放到他们的文档中???也许这对于经验丰富的开发人员来说只是“显而易见的”信息,但我花了整整一个晚上才弄清楚。

关于json - 将 oAuth token 与 Azure MobileServiceClient.login() 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27644426/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com