使用CloudKit Web服务通过postMessage检索ckWebAuthToken

时间:2018-05-28 06:23:50

标签: cloudkit cloudkit-web-services

我正在尝试使用他们的Web服务和postMessage API令牌为CloudKit检索Web身份验证令牌。根据{{​​3}},令牌应作为"数据"的一部分返回。通过消息回调对象,但我得到的只是ckSession变量。看起来文档是错误的,或者我遗漏了一些东西。

在此步骤之后是否应该调用任何其他API来检索Web身份验证令牌?我试图天真并通过ckSession来记录列表API,但这似乎不起作用。此外,如果我使用不同的令牌检索方法,例如自定义URL方案,则可以正确检索令牌。此问题似乎只与postMessage选项有关。

"允许来源"设置为"所有域名"我从localhost调用auth API。我正在运行Windows 10并使用Chrome浏览器(如果这意味着什么,可能不是)。

好像有人Apple's documentation,但当时并没有多少爱。

非常感谢任何帮助。另外,如果需要,我可以提供更多信息。

2 个答案:

答案 0 :(得分:1)

同样,我从没设法通过postMessage方法拦截import pyspark.sql.functions as F df = spark.createDataFrame([{'name': 'Alice', 'age': 1.0}, {'name': 'Bob', 'age': float('nan')}]) df = df.withColumn('more_nans',F.lit(float('nan'))) df.show() 。我怀疑它只能与JS SDK中+---+-----+---------+ |age| name|more_nans| +---+-----+---------+ |1.0|Alice| NaN| |NaN| Bob| NaN| +---+-----+---------+ 生成的登录按钮一起使用。

因此,我改为重定向到位于某个地方的我的页面,在那里我从查询字符串中获取令牌并将其发送到我的主机应用程序,所有这些都使用JavaScript。笨拙,但有效! :)

答案 1 :(得分:0)

据我了解,您只能通过前端JavaScript API获得网络身份验证令牌(ckWebAuthToken)。用户使用其Apple ID登录后,应将其返回。然后,您可以将该值POST $cred = new Google_Auth_AssertionCredentials( $service_account_name, $authArray, $key ); $cred->sub = "admin@yourdomain.com"; 并以某种方式存储(可能作为会话变量)。

您可以阅读有关获取网络身份验证令牌on this page的更多信息。

如果您此后已了解更多有关解决此问题的知识,并且比我了解的更多,那么我无所不能。 :)