因此,当我从 aws 控制台运行查询时,一切正常。但是在我的 iOS 客户端上,我只收到 401 错误。
我正在使用教程中的基本代码和 cognito auth:
credentialsProvider = AWSCognitoCredentialsProvider(regionType: AWSRegion, identityPoolId: CognitoIdentityPoolId)
let databaseURL = URL(fileURLWithPath:NSTemporaryDirectory()).appendingPathComponent(database_name)
do {
// Initialize the AWS AppSync configuration
let appSyncConfig = try AWSAppSyncClientConfiguration(url: AppSyncEndpointURL, serviceRegion: AWSRegion, credentialsProvider: credentialsProvider!, databaseURL:databaseURL)
// Initialize the AppSync client
appSyncClient = try AWSAppSyncClient(appSyncConfig: appSyncConfig)
// Set id as the cache key for objects
appSyncClient?.apolloClient?.cacheKeyForObject = { $0["id"] }
}
catch {
NSLog("Error initializing appsync client. \(error)")
}
我已经尝试在 ui 中连接 cognito 登录,这似乎确实让我登录了,但我仍然从 appsync 客户端收到 401 错误。
注意:使用基于 apikey 的身份验证也可以正常工作 - 但此项目需要 cognito。
任何帮助将不胜感激,我正在努力解决这个问题。