AWS Cognito Ruby SDKを使用して新しいユーザーを登録するにはどうすればよいですか?

イペガサス

AWS Cognito RubySDKを使用して新しいユーザーを登録する方法を知りたいのですが。

これまでに試しました:

入力

AWS_KEY = "MY_AWS_KEY"
AWS_SECRET = "MY_AWS_SECRET"

client = Aws::CognitoIdentityProvider::Client.new(
  access_key_id: AWS_KEY,
  secret_access_key: AWS_SECRET,
  region: 'us-east-1',
)

resp = client.sign_up({
  client_id: "4d2c7274mc1bk4e9fr******", # required
  username: "[email protected]", # required
  password: "Password23sing", # required
  user_attributes: [
    {
      name: "app", # required
      value: "my app name",
    },
  ],
  validation_data: [
    {
      name: "username", # required
      value: "true",
    },
  ]
})

出力

Aws::CognitoIdentityProvider::Errors::NotAuthorizedException (Unable to verify secret hash for client 4d2c7274mc1bk4e9fr*****)

参考文献

https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CognitoIdentityProvider/Client.html#sign_up-instance_method

前もって感謝します

rmlockerd

アプリクライアントがクライアントシークレットで構成されている場合、ほとんどのクライアントリクエストでは、リクエストのオプションパラメータに「シークレットハッシュ」を含める必要があります。Cognitoドキュメントはthusly秘密のハッシュを説明します。

SecretHash値は、ユーザープールクライアントの秘密鍵とユーザー名に加えてメッセージ内のクライアントIDを使用して計算された、ベース64でエンコードされたキー付きハッシュメッセージ認証コード(HMAC)です。次の擬似コードは、この値の計算方法を示しています。

Base64(HMAC_SHA256( "クライアントシークレットキー"、 "ユーザー名" + "クライアントID"))

ドキュメントはまた、サンプルJavaのグロブを介して、独自にロールすることが期待されていることを明確にしています。少し実験した後、私は次のように正常にsign_up通話を完了することができました(私のテストプールは電子メールと名前の属性を必要とするように設定されました):

def secret_hash(client_secret, username, client_id)
  Base64.strict_encode64(OpenSSL::HMAC.digest('sha256', CLIENT_SECRET, username + CLIENT_ID))
end

client = Aws::CognitoIdentityProvider::Client.new(
  access_key_id: AWS_KEY,
  secret_access_key: AWS_SECRET,
  region: REGION)

username = '[email protected]'
resp = client.sign_up({
         client_id: CLIENT_ID,
         username: username,
         password: 'Password23sing!',
         secret_hash: secret_hash(CLIENT_SECRET, username, CLIENT_ID),
         user_attributes: [{ name: 'email', value: username },
                           { name: 'name', value: 'Bob' }],
         validation_data: [{ name: 'username', value: 'true' },
                           { name: 'email', value: 'true' }]
       })

CLIENT_SECRET[一般設定]> [アプリクライアント]にあるアプリクライアントシークレットです

結果:

#<struct Aws::CognitoIdentityProvider::Types::SignUpResponse
 user_confirmed=false,
 code_delivery_details=nil,
 user_sub="c87c2ac8-1480-4d15-a28d-6998d9260e73">

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

AWS Cognitoを使用して、Facebookなどのサードパーティを通じて新規ユーザーの登録とサインアップを許可するにはどうすればよいですか?

分類Dev

AWS Cognito SDKを使用して、NodeJSを使用してRESTサービスからユーザーを認証するにはどうすればよいですか?

分類Dev

Cognitoユーザープール:aws cognito java sdkでaccessTokenの有効期限が切れた後、refreshTokenを使用して新しいaccessTokenを取得するにはどうすればよいですか?

分類Dev

aws cognito response_code form saml redirectを使用してcognitoからユーザー情報を取得するにはどうすればよいですか?

分類Dev

AWS Cognitoで登録ユーザーの管理者確認を要求するにはどうすればよいですか?

分類Dev

Googleアカウントを認証してAWS Cognitoユーザープールに追加するにはどうすればよいですか?

分類Dev

AWS cognitoから(投稿のリストについて)登録者ごとに複数のユーザーを取得するにはどうすればよいですか?

分類Dev

特定のユーザーのAWS Cognitoユーザープールでユーザー属性を編集するにはどうすればよいですか?

分類Dev

特定のユーザーのAWS Cognitoユーザープールでユーザー属性を編集するにはどうすればよいですか?

分類Dev

特定のユーザーのAWS Cognitoユーザープールでユーザー属性を編集するにはどうすればよいですか?

分類Dev

AWS LambdaからCognitoユーザープールグループにユーザーを追加するにはどうすればよいですか?

分類Dev

AWS CognitoユーザープールユーザーをDB(DynamoDBなど)に保存するにはどうすればよいですか?

分類Dev

AWS Cognitoユーザープールグループにユーザーを追加するにはどうすればよいですか?

分類Dev

Cognitoから返されたコードを使用してAWS認証情報を取得するにはどうすればよいですか?

分類Dev

AWS Cognitoユーザープールの作成時にphone_number形式を変更するにはどうすればよいですか?

分類Dev

AWS Cognitoユーザーのアクセストークンを生成するにはどうすればよいですか?

分類Dev

AWS Lambda関数でCognito認証済みユーザー情報を取得するにはどうすればよいですか?

分類Dev

AWS Cognito-認証されていないユーザーかどうかを判断する方法は?

分類Dev

aws-amplify / aws-cognitoの属性を確認/更新しながら確認コードを再送信するにはどうすればよいですか?

分類Dev

AWS Cognitoの同じデバイスで新しいIDを作成するにはどうすればよいですか?

分類Dev

AWS API Gatewayで単一のエンドポイントに複数のCognitoユーザープールを使用するにはどうすればよいですか?

分類Dev

AWS cognitoを使用して.netでパスワードを忘れたカスタムテンプレートを使用するにはどうすればよいですか?

分類Dev

rubyとaws-sdkを使用して大規模なアーカイブをAmazonGlacierにアップロードするにはどうすればよいですか?

分類Dev

aws cognitoでMFAを無効にするにはどうすればよいですか?

分類Dev

AWS Cognito-CloudFormationを使用して、メールアドレスでサインアップできるプールを作成するにはどうすればよいですか?

分類Dev

`Terraform`でaws_cognito_user_poolsIDを参照するにはどうすればよいですか?

分類Dev

AWS Cognitoの組み込みUIを統合するにはどうすればよいですか?

分類Dev

AWS LambdaでRubyを使用してメディア変換を開始するにはどうすればよいですか?

分類Dev

AWS Cognitoでパスワードを変更する試行の制限を編集するにはどうすればよいですか?

Related 関連記事

  1. 1

    AWS Cognitoを使用して、Facebookなどのサードパーティを通じて新規ユーザーの登録とサインアップを許可するにはどうすればよいですか?

  2. 2

    AWS Cognito SDKを使用して、NodeJSを使用してRESTサービスからユーザーを認証するにはどうすればよいですか?

  3. 3

    Cognitoユーザープール:aws cognito java sdkでaccessTokenの有効期限が切れた後、refreshTokenを使用して新しいaccessTokenを取得するにはどうすればよいですか?

  4. 4

    aws cognito response_code form saml redirectを使用してcognitoからユーザー情報を取得するにはどうすればよいですか?

  5. 5

    AWS Cognitoで登録ユーザーの管理者確認を要求するにはどうすればよいですか?

  6. 6

    Googleアカウントを認証してAWS Cognitoユーザープールに追加するにはどうすればよいですか?

  7. 7

    AWS cognitoから(投稿のリストについて)登録者ごとに複数のユーザーを取得するにはどうすればよいですか?

  8. 8

    特定のユーザーのAWS Cognitoユーザープールでユーザー属性を編集するにはどうすればよいですか?

  9. 9

    特定のユーザーのAWS Cognitoユーザープールでユーザー属性を編集するにはどうすればよいですか?

  10. 10

    特定のユーザーのAWS Cognitoユーザープールでユーザー属性を編集するにはどうすればよいですか?

  11. 11

    AWS LambdaからCognitoユーザープールグループにユーザーを追加するにはどうすればよいですか?

  12. 12

    AWS CognitoユーザープールユーザーをDB(DynamoDBなど)に保存するにはどうすればよいですか?

  13. 13

    AWS Cognitoユーザープールグループにユーザーを追加するにはどうすればよいですか?

  14. 14

    Cognitoから返されたコードを使用してAWS認証情報を取得するにはどうすればよいですか?

  15. 15

    AWS Cognitoユーザープールの作成時にphone_number形式を変更するにはどうすればよいですか?

  16. 16

    AWS Cognitoユーザーのアクセストークンを生成するにはどうすればよいですか?

  17. 17

    AWS Lambda関数でCognito認証済みユーザー情報を取得するにはどうすればよいですか?

  18. 18

    AWS Cognito-認証されていないユーザーかどうかを判断する方法は?

  19. 19

    aws-amplify / aws-cognitoの属性を確認/更新しながら確認コードを再送信するにはどうすればよいですか?

  20. 20

    AWS Cognitoの同じデバイスで新しいIDを作成するにはどうすればよいですか?

  21. 21

    AWS API Gatewayで単一のエンドポイントに複数のCognitoユーザープールを使用するにはどうすればよいですか?

  22. 22

    AWS cognitoを使用して.netでパスワードを忘れたカスタムテンプレートを使用するにはどうすればよいですか?

  23. 23

    rubyとaws-sdkを使用して大規模なアーカイブをAmazonGlacierにアップロードするにはどうすればよいですか?

  24. 24

    aws cognitoでMFAを無効にするにはどうすればよいですか?

  25. 25

    AWS Cognito-CloudFormationを使用して、メールアドレスでサインアップできるプールを作成するにはどうすればよいですか?

  26. 26

    `Terraform`でaws_cognito_user_poolsIDを参照するにはどうすればよいですか?

  27. 27

    AWS Cognitoの組み込みUIを統合するにはどうすればよいですか?

  28. 28

    AWS LambdaでRubyを使用してメディア変換を開始するにはどうすればよいですか?

  29. 29

    AWS Cognitoでパスワードを変更する試行の制限を編集するにはどうすればよいですか?

ホットタグ

アーカイブ