問題タブ [aws-cognito]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
16302 参照

amazon-web-services - cognito からの JWT の秘密鍵はどこにありますか

Web アプリの Cognito ユーザー プールのログイン機能を試しています。トークンを取得できましたが、それを解読するための秘密がどこにあるのかわかりません。シークレットはユーザープール内のアプリのシークレット ID であるという投稿の 1 つを読みました。ただし、Javascript SDK の場合、シークレット ID は空白です。これは、私のシークレットも空白にする必要があるということですか? これを試してみましたが、「エラー: PEM_read_bio_PUBKEY が失敗しました」というメッセージが表示されました。

0 投票する
1 に答える
687 参照

amazon-web-services - ユーザー登録時に E メールを送信する - AWS Cognito フェデレーション ID

新しいユーザーが登録したときに、メールを送信したり、ラムダ関数をトリガーしたりするにはどうすればよいですか?

「ID プールの編集」の下で、同期トリガーのみが見つかりました。私が正しく理解している場合:これは、ユーザーが自分のデータを同期するたびにトリガーされます...
「最初の」同期のため、または特定のデータセットがユーザー用に作成されたときにのみ、ラムダ関数をトリガーする方法はありますか?

ここに画像の説明を入力

編集:
より具体的には、JS SDKを使用してラムダ経由でユーザーを作成します。独自の oauth2 フローで開発者認証を使用しています。Google などを介して初めてア​​クセスを許可するユーザーと、2 回目にアクセスを許可するユーザーを区別する方法がわかりません。アクセスコードを含むjsonは私と同じように縫い付けられています...多分私は間違っています。

また、getOpenIdTokenForDeveloperIdentity呼び出しを使用して、cognito に新しい ID と 1 つの cognito が既に知っている ID を区別する方法がわかりません。

編集 2: さらに正確に言うと: 私はこのプロジェクトに基づいて構築しています: https://github.com/laardee/serverless-authentication-boilerplate/blob/master/authentication/lib/storage/usersStorage.js

現時点でユーザーをcognitoに保存する方法は次のとおりです。初めてのユーザーだけでなく、n回目のユーザーにもこのコードを実行します。私の問題は、私が区別する方法がわからないということです...

0 投票する
1 に答える
139 参照

ruby-on-rails - ユーザー認証にユーザー名の代わりに電子メール/電話を使用する

Congnitoアプリケーション ユーザーを格納するためにユーザー プールを使用しています。usernameと を使用してサインインできpasswordます。私のWebアプリケーションでは、ユーザーがemail/phone自分の希望に応じて自分自身を認証できるようにする必要があります。私はいくつかのRnDemailphone number実行し、それを達成するためにラムダ関数を記述する必要があることを発見しました。それを達成する他の方法はありますか?ラムダ関数については、それを書くのを手伝ってください。

aws-sdkWeb アプリケーションとgemを構築するために Ruby on rails 5 を使用しています。

手伝ってくれてありがとう。

0 投票する
0 に答える
164 参照

javascript - JavaSCript から PHP に AWS アクセス資格情報を渡す方法は?

Cognito Federated Service を使用してユーザーを認証するための JavaScript があります。

ユーザーを認証し、アクセス資格情報を取得できます。

これらの資格情報を PHP file.function に渡すにはどうすればよいですか? URL自体に渡す必要がありますか?

0 投票する
0 に答える
188 参照

amazon-web-services - AWS Javascript SDK が cognito に接続しない

AWS javascript SDK を使用して Cognito に接続する非常に単純なテスト ケースを実行しています。認証されていないユーザーを受け入れる Cognito AWS にユーザープールを設定しています。次に、SDK を使用して接続する HTML ページがあります。この部分は、文字通り、プールに関連付けられている AWS の「サンプル コード」セクションから外れています。

そして、この部分は彼らのドキュメントからのもので、一時的な資格情報を取得する必要があります:

Web ページを読み込むと、資格情報を取得しようとすると、この 2 番目の部分でエラーが発生します。Safari で「SSL エラーが発生したため、サーバーへの安全な接続を確立できません」と表示されます。Chromeは「net::ERR_CONNECTION_RESET」と言います。

簡単で明白な構成手順を忘れていませんか? ロール arn または my accountid を構成ステップに追加しても役に立ちません。

0 投票する
1 に答える
408 参照

authentication - AWS Cognito モバイル ハブ

Instagram API を呼び出して Instagram から情報を取得できるように、モバイル アプリケーション用に Instagram 経由でユーザーをログインする必要があります。簡単に言えば、私のアプリケーションはユーザーに Instagram へのアクセスを承認し、API 呼び出しのアクセス トークンを取得できるように要求します。ユーザーが承認されたら、アプリケーションはユーザーに再度ログインするように求めるべきではありません。サーバー側の認証フローを実装するために、Instagram クライアントアプリを既にセットアップしています。

私の課題は、AWS モバイル サービスを使用してこれを実現したいということです。私はすでに MobileHub からカスタム認証をセットアップしており、カスタム認証フローを定義する必要があるところまで来ました (この場合はInstagram 認証です)フロー)。[トリガー] タブに移動すると、AWS Cognito アプリの下に、認証に関連付けられたラムダ関数を定義するためのさまざまなオプションが表示されます (事前/事後認証または認証チャレンジの定義/作成/検証など)。Instagram 認証フローをこれらの機能に合わせる方法がわかりません。または、何か他のものを使用する必要があります。また、AWS Cognito が認証フローをどのように管理するのか明確ではありません。ユーザーがアプリケーションを起動するたびに認証プロセスを実行したくありません。AWS Cognito は、ユーザーをカスタム フローから一部の Cognito ID にリンクし、ユーザーがアプリケーションを使用するときに認証できると信じています。提案やコードサンプル (利用可能な場合) に感謝します。

0 投票する
2 に答える
866 参照

ios - API Gateway によって生成された iOS (Objective-C) 用の SDK と、承認されたユーザー用の Cognito ユーザー プール

AWS API Gateway を使用して API をデプロイしましたが、iOS デバイスからアクセスしようとしています。一部のエンドポイントは無許可のユーザーをサポートしており、アクセスに問題はありませんが、他のエンドポイントはサポートしておらず、クエリを実行できません。Web アプリケーション (または郵便配達員) を使用する場合に正常に動作する認証用の新しい Cognito ユーザー プール機能を使用します。

まず、一部のエンドポイントは保護されていますが (コンソールの次の図のように)、API をデプロイして iOS (Objective-C) 用の SDK を生成すると、README ファイルを読み取ることができます。承認は必要ありません。」

ここに画像の説明を入力

次に、AWS のドキュメントから次の認証コードを実行すると、すべて問題なく動作するように見えます。

この投稿で指定されているように CognitoPoolIdentityProvider を実装しました。

適切なトークン (postman を使用してテスト済み) とユーザー ID を取得できました。

2016-12-27 12:43:35.760 AskHub[26625:10037234] AWSiOSSDK v2.4.11 [デバッグ] AWSURLResponseSerialization.m 行:63 | -[AWSJSONResponseSerializer responseObjectForResponse:originalRequest:currentRequest:data:error:] | 応答本文: {"IdentityId":"eu-west-1:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"} 2016-12-27 12:43:35.766 AskHub[26625:10037234] ID id: eu-west-1 :XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

ただし、次のコードを実行して保護されたエンドポイントをヒットすると、CloudFront は認証されていないと見なします。

応答:

2016-12-27 12:56:25.247 AskHub[26784:10046562] 最初のリクエストを送信できませんでした: エラー Domain=com.amazonaws.AWSAPIGatewayErrorDomain Code=1 "(null)" UserInfo={HTTPBody={ message = Unauthorized; }, HTTPHeaderFields={type = immutable dict, count = 9, entries => 3: Via = {contents = "XX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.cloudfront.net (CloudFront)"} 4: x-amzn-ErrorType = {contents = "UnauthorizedException" 5 : Content-Type = {contents = "application/json"} 6 : Content-Length = {contents = "27"} 7 : Connection = {contents = "keep-alive"} 8 : x-amzn-RequestId = {contents = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"} 9 : Date = {contents = "Tue, 27 Dec 2016 11:56:25 GMT"} 10 : X-Cache = {contents = "

ここで何か不足していますか?自動生成された SDK はユーザー プール認証をサポートしていますか?

0 投票する
1 に答える
4839 参照

amazon-web-services - node.js AWS Lambda で認証されたユーザーのメールアドレスを取得するには?

AWS JavaScript SDK を使用する Angular アプリがあり、Facebook と Google で正常にログインできます。Cognito ID を作成でき、Federated Identity プールに ID が表示されます。IAM 認証済み API エンドポイントを使用することもできます (呼び出している Lambda でユーザーの cognitoId を確認できます)。

ユーザーのメール アドレスをデータベース (DynamoDB) のキーとして使用したいので、Cognito (推奨) または認証プロバイダーの JWT のいずれかの信頼できるソースからユーザーのメール アドレスにアクセスする方法を見つけようとしています。

ユーザーのメールアドレスにアクセスする最良の方法は何ですか?

更新:クライアント側 (javascript) では、Google および Facebook トークンで Federated Identities を使用しています。ソーシャル ログインは機能しており、ログインを渡すことで、Cognito で問題なく認証を受けることができます。

その後、AWS.config.credentials.get()のようなものを取得できますAWS.config.credentials.identityIdが、JWT を取得するために呼び出す accessToken またはメソッドが見つかりません。に電話する必要があると思いますresult.getAccessToken().getJwtToken()が、見つかりません。

accessToken を取得する例はすべて を使用しているように見えます.authenticateUser(authenticationDetails())が、詳細にはユーザー名とパスワードが含まれています (Federated login ではありません)。