Swift 如何从Cognito获得Apple刷新令牌?

Swift 如何从Cognito获得Apple刷新令牌?,swift,amazon-cognito,sign-in-with-apple,Swift,Amazon Cognito,Sign In With Apple,我正在使用Cognito的联合登录和Apple的登录。我有一个API网关路由,使用JWT授权人从iOS应用程序通过appleid.apple.com,如果我将身份令牌传递给此API网关路由,并且它似乎可以工作 10分钟后,苹果身份令牌将如期到期。我必须手动操作还是Cognito提供了一个端点来为我执行此操作并返回一个刷新令牌 没有可用的允许刷新令牌身份验证选项。AWS支持人员说“如果您使用的是授权码授权,则在流程完成后将生成刷新令牌。授权代码授权流启动代码授权流,该流提供授权代码作为响应。此代

我正在使用Cognito的联合登录和Apple的登录。我有一个API网关路由,使用JWT授权人从iOS应用程序通过appleid.apple.com,如果我将身份令牌传递给此API网关路由,并且它似乎可以工作

10分钟后,苹果身份令牌将如期到期。我必须手动操作还是Cognito提供了一个端点来为我执行此操作并返回一个刷新令牌

没有可用的允许刷新令牌身份验证选项。

AWS支持人员说“如果您使用的是授权码授权,则在流程完成后将生成刷新令牌。授权代码授权流启动代码授权流,该流提供授权代码作为响应。此代码可以与令牌端点交换访问令牌。由于令牌从未直接暴露给最终用户,因此它们不太可能受到危害。”并在此处引用我:


Cognito提供了一个刷新令牌端点。当您在Auth Flows配置中为您的用户池设置应用程序客户端时,默认情况下已经选择了“允许\u刷新\u令牌\u身份验证”选项,然后单击“保存应用程序客户端更改”

文档,以便将登录Apple作为身份验证提供商添加到身份验证池中[链接不起作用谢谢。默认情况下,它是打开的,我无法像在屏幕截图中那样打开或关闭它。没错,因此默认情况下,您可以通过Cognito获得刷新令牌。您可以更改的是刷新令牌到期字段中的验证期”默认情况下,您通过Cognito获得刷新令牌“-如果我在API网关上使用JWT授权程序,我在过程中的哪个点可以获得此刷新令牌?JWT授权程序将这些密钥传递给网关路由aud、auth_time、c_哈希、exp、iat、iss、nonce_SUPPORED、sub。我在其中没有看到刷新令牌。
let data={grant_type:'authorization_code',code:code,redirect_uri:YOUR_redirect_uri,scope:'email openid profile',client_id:YOUR_APP_client_id}const response=wait axios({method:'post',url:YOUR_authorization_url_-url_-token,auth:{用户名:YOUR_APP客户机id,密码:YOUR_APP client_-SECRET},标题:{'Content Type':'application/x-www-form-urlencoded'},数据:qs.stringify(data)})
response.data应该包含id_令牌和rerfesh_令牌我还没有使用JWT Authorizer,这就是我在node.js中调用令牌的方式。我想这对你来说不会有太大的不同,或者至少我可以帮你一个提示。我希望它能有所帮助!