如何在没有 Cognito 的情况下授权 dynamoDB?
How to auth dynamoDB without Cognito?
我知道在 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账号和access token访问DynamoDB?
在实施您自己的 AWSCredentialsProvider
时,我推荐以下方法:
- 在您的服务器上生成访问密钥、秘密密钥和会话令牌。您有许多语言选项,包括 Java、.NET、PHP、Ruby、Python 和 Node.js.
- 通过符合
AWSCredentialsProvider
来实施您的凭据提供程序。以 AWSWebIdentityCredentialsProvider
和 AWSCognitoCredentialsProvider
的实现为例。该凭证提供者应该:
- 从您的服务器检索
access key
、secret key
和 session key
。
- 将它们保留在本地直到它们过期。
- Return 请求时的凭据。
- 如果它们已过期,请从您的服务器重新检索它们。
- 调用
- refresh
时启动凭据刷新过程。
我知道在 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账号和access token访问DynamoDB?
在实施您自己的 AWSCredentialsProvider
时,我推荐以下方法:
- 在您的服务器上生成访问密钥、秘密密钥和会话令牌。您有许多语言选项,包括 Java、.NET、PHP、Ruby、Python 和 Node.js.
- 通过符合
AWSCredentialsProvider
来实施您的凭据提供程序。以AWSWebIdentityCredentialsProvider
和AWSCognitoCredentialsProvider
的实现为例。该凭证提供者应该:- 从您的服务器检索
access key
、secret key
和session key
。 - 将它们保留在本地直到它们过期。
- Return 请求时的凭据。
- 如果它们已过期,请从您的服务器重新检索它们。
- 调用
- refresh
时启动凭据刷新过程。
- 从您的服务器检索