我知道在iOS中使用DynamoDB
的最佳方式是使用Cognito
,如下代码:
AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc]
initWithRegionType:AWSRegionUSEast1
identityPoolId:@"pool_id"];
AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:credentialsProvider];
问题是Cognito
不受中国AWS服务的支持。为了使用DynamoDB
,我认为我应该使用AWSCredentialsProvider
协议实现一个自定义提供程序。对吗?
我已经用第三方社交网络(QQ)实现了登录过程。我有QQ生成的账号id和accessToken。
问题是如何允许用户使用QQ帐号Id和访问令牌访问DynamoDB?
在实现自己的AWSCredentialsProvider
时,我推荐以下方法:
- 在服务器上生成访问密钥、密钥和会话令牌。您有许多语言选项,包括Java、.NET、PHP、Ruby、Python和Node.js
- 按照
AWSCredentialsProvider
实现您的凭据提供商。以AWSWebIdentityCredentialsProvider
和AWSCognitoCredentialsProvider
的实现为例。此凭据提供程序应:- 从服务器检索
access key
、secret key
和session key
- 将它们保存在本地直到过期
- 请求时返回凭据
- 如果它们已过期,请从服务器中重新检索
- 当调用
- refresh
时,启动凭据刷新过程
- 从服务器检索