1

AWS Amplify で作成された AppSync GraphQL API を使用する iOS アプリがあります。IAM を介して、(認証されていないユーザーの) パブリック認証でいくつかのクエリを利用できるようにしたいと考えています。この公開ケースでは、API を呼び出すときに、から次のエラーが発生しますAWSAppSync/AWSAppSyncClient/AWSAppSyncHTTPNetworkTransport.swift

Fatal error: Credentials Provider and endpoint not set

AppSync の初期化は AppDelegate で行われます。

let serviceConfigIAM = try AWSAppSyncServiceConfig(forKey: "bookapi_AWS_IAM")
let cacheConfigIAM = try AWSAppSyncCacheConfiguration(useClientDatabasePrefix: true, appSyncServiceConfig: serviceConfigIAM)
let clientConfigIAM = try AWSAppSyncClientConfiguration(appSyncServiceConfig: serviceConfigIAM, cacheConfiguration: cacheConfigIAM)
appSyncClient = try AWSAppSyncClient(appSyncConfig: clientConfigIAM)

AWSAppSyncClientConfiguration#makeNetworkTransportForIAMresolveCredentialsProvider が nil であることに気付きました:

// Evaluates to nil
let resolvedCredentialsProvider = authProvider ?? AWSServiceInfo().cognitoCredentialsProvider

認証情報プロバイダーを作成して AppSync クライアント構成に渡す必要がありますか? 認証されていないユーザーに IAM を使用するにはどうすればよいですか?

4

0 に答える 0