iOS AWS AppSync 401 IAM+;白兰地

iOS AWS AppSync 401 IAM+;白兰地,ios,amazon-cognito,amazon-iam,aws-appsync,aws-appsync-ios,Ios,Amazon Cognito,Amazon Iam,Aws Appsync,Aws Appsync Ios,您好,我正在使用AWS AppSync作为后端graphQL db。 我使用Cognito来管理登录、用户和身份验证。 我正在使用IAM管理身份规则和来宾用户 这是我的初始化代码: let appSyncConfig = try AWSAppSyncClientConfiguration(appSyncServiceConfig: AWSAppSyncServiceConfig(), credentialsProvider: AWSMobileClient.default(),

您好,我正在使用AWS AppSync作为后端graphQL db。 我使用Cognito来管理登录、用户和身份验证。 我正在使用IAM管理身份规则和来宾用户

这是我的初始化代码:

let appSyncConfig = try AWSAppSyncClientConfiguration(appSyncServiceConfig: AWSAppSyncServiceConfig(),
    credentialsProvider: AWSMobileClient.default(),
    cacheConfiguration: AWSAppSyncCacheConfiguration())

// Initialize the AWS AppSync client
let appSyncClient = try AWSAppSyncClient(appSyncConfig: appSyncConfig)
appSyncClient.apolloClient?.cacheKeyForObject = { $0["id"] }
注意:我使用默认配置,因为所有必需的信息都在
awsconfiguration.json
文件中

我使用cognito的以下功能注册用户:

AWSCognitoIdentityUserPool.signUp

然后进行电话号码验证,完成后我使用AWSMobileClient登录:
AWSMobileClient.default().sign

问题是:

登录后,所有AppSync查询/更改都不会出现任何问题但是

在任意时间(通常为5分钟)后或重新启动应用程序时

任何需要授权的AppSync查询/突变都会返回401(未授权)


这个问题一直持续到(我认为)下一次刷新access/id令牌(我们的配置为1.5小时),并且问题在(5分钟或重新启动)后再次出现。

每当您收到401个未经授权的令牌时,您应该提示用户再次登录。如果这种情况非常频繁且出乎意料,则SDK中可能存在错误


请随意打开一个问题,以更好地帮助调试您的问题。

每当收到401未经授权的问题时,您应该提示用户再次登录。如果这种情况非常频繁且出乎意料,则SDK中可能存在错误

请随意打开一个问题,以便更好地帮助调试您的问题