2

我正在使用rails 3.2和devise 3.2.3。我正在尝试使用AWS Cognito Developer Authenticated Identities,并发现自己迷失在如何做到这一点。如何在rails中使用devise和aws cognito 3

我们的用户需要通过认证。如果我使用Devise gem,如何使用Custom作为身份池中的身份验证提供程序?

我已经使用aws-sdk v1并安装了v2 gem来支持cognito。

gem 'aws-sdk-resources', '~> 2' 

我看到这个帖子Upload to Amazon S3 and Calling Amazon Cognito Identity from Rails server,但不知道在何处放置在下面,如果它是正确的块。

require 'aws-sdk' 
cognito = Aws::CognitoIdentity::Client.new(region:'us-east-1') 
resp = cognito.get_open_id_token_for_developer_identity(
      identity_pool_id: 'IDENTITY_POOL_ID', 
      logins: {'MY_PROVIDER_NAME' => 'USER_IDENTIFIER'}) 
+0

我希望从谁使用AWS Rails的人听到。 =) –

回答

1

我结束了使用类似我们的API在下面的代码:

if user.valid_password?(params[:password]) 
    #get the cognito token and id 
end 
2

不幸的是,Cognito没有一个端到端的例子在Ruby开发者验证的身份,但有Android and iOS examples

通常,流程是创建一个Cognito Identity客户端,并且该客户端向您的后端发送请求。后端将与Cognito进行通信以获取/生成ID和令牌,并将其发送回客户端。客户端然后将使用该ID和令牌来获取凭证。以上博客文章和developer guide有一些较低级别的详细信息。

就代码片段而言,第二行是创建Cognito客户端。第三个与Cognito进行通信,其中的响应将用于将ID和令牌发送回客户端。

相关问题