4

正式なSDKがないプラットフォームでAmazon Cognito REST API(ユーザープール用)を介してログインするにはどうすればよいですか? - 私はユーザプールを要求していますが、アイデンティティプールは要求していません。 - FB、ツイッター、G +などのソーシャルコネクトを用いAmazon CognitoのユーザープールにログインするためのREST(またはCLI)APIとは

  • フェデレーションログイン(同一プールを作成):


    概要


    アマゾンcognitoはログインの3種類を提供しますetc

  • AWS管理ログイン(ユーザープール) - パスワードサービスに
  • 開発者に提供ログイン(自分が管理し、私のカスタム設計された認証サービス)

をリセットし、私が使用しています、パスワードを忘れてしまった、Amazonの独自の管理サインアップ、サインインを使用して(ユーザプール付き)は、第2の1


アマゾンcognitoは、Android、iOSのは、Javascript、Xamarin電子のためのいくつかのSDKを持っていますまた、Cognitoは、公式SDKでサポートされているプラ​​ットフォーム以外のプラットフォームで構築するためのREST APIも提供しています。 私は別のプラットフォームのアプリケーションを構築していますしたがって、プラットフォーム用の公式SDKがないため、REST APIが私の唯一の方法です。

Cognito REST APIは、「確認検証」など、意外にも、はREST APIは、単純なサインインのための任意のエンドポイントを持っていない、「パスワードを忘れてしまった」、「を申し込む」の様々なエンドポイントを提供します/ログインCognito CLI API docsから


私はすべての "サインアップユーザー"、 "確認の購読申し込み"、 "変更パスワード" に必要OFFICIAL CLI APIは、 "検証電話番号"、 "は忘れてしまっていますパスワード "など驚くべきことに、LOGINにはCLI APIは言及されていません。私が望んでいたことは "$ aws cognito-idp sign-up" または "$ aws cognito-idp forgot-password" などのためにのためにそこにあるだけのように "$ aws cognito-idp log-in" のようないくつかのCLI APIでなければなりません


this getting started tutorialから、それは「*トークンを使って何をすべきかは、ユーザー*の認証が成功した後を受けた」について語っています。しかし、それについて話していない Cognito User Pool APIを使用すると、最初の認証が成功します。例は、Android、iOS、javascript SDKのみで利用できます。 SDKを持たないプラットフォームで使用できる認証例はありません。したがって


はどのように私はログインが公式SDKはありませんそのためのプラットフォーム上で(ユーザー・プール用)アマゾンCognito REST APIを経由して実現するのですか?

答えて

4

更新:あなたが以下のコメントで指摘したよう

、認証フローはここに文書化されている:http://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-authentication-flow.html。これは認証フローを明確にするのに役立つかもしれません

これはやや直観的ですが、ユーザーに明示的にログインするのではなく、代わりにユーザーのトークンを携帯したくないモバイルアプリにとっては意味があります。 iOS向けのAWS Userpools SDKには明示的なログイン(ログイン)APIがあります。私はそれを使用していませんが、それは同じInitiateAuth()の後にRespondToAuthChallenge()のフローが続くだけの代替クライアント側APIだと思います。例サインインiOSのは、ここでは文書化されている - IOS SDK Example: Sign in a User

オリジナルポスト:

認証を開始するためのCognitoユーザープールAPIドキュメントがavailable here

ユーザーを実装する場合、それが動作する方法が明確になるでJSONレスポンスのロギングが冗長で、ログを見れば何が起こっているのかが分かるので、SDKの1つにプールアプリケーションを追加しました(iOSのSwiftでこれを行いました。

私はあなたの質問を理解していると仮定します:要約するとInitiateAuth()であり、その応答は(Cognito User Poolsサーバから)挑戦です。次に、RespondToAuthChallenge()(そのAPIドキュメントにも記載されています)を実行し、それに対する応答は認証結果です - パスワード/セッション/トークンが受け入れられたと仮定します。

これら二つの組み合わせは、私はあなたがLOGINを呼んでいるものを、と考えている、であり、それはログインのように動作します。 APIでは、設定されている方法は、ユーザーが認証されていないときにユーザー情報を取得しようとするとInitiateAuth()が起動し、(iOSの場合は)APIがパスワードを要求するコードにコールバックし、 RespondToAuthChallenge()要求など

+2

ニース....そこに任意のまっすぐ前方例ではありませんなぜ私が疑問に思います/公式ドキュメントでユーザーにサインインする方法に関する説明。この流れは直感的ではありませんでした。 –

+0

はい、やや直感的ですが、ユーザーに明示的にサインインするのではなく、代わりにトークンを携帯するモバイルアプリにとっては意味があります。 AWS Userpools IOS SDKには明示的なログイン(ログイン)APIがあります。私はそれを使用していませんが、同じinit-auth認証チャレンジシーケンスで取得するのは代替のクライアントサイドAPIであると思われます。ここに書かれている。 http://docs.aws.amazon.com/cognito/latest/developerguide/using-amazon-cognito-user-identity-pools-ios-sdk.html#using-amazon-cognito-user-identity-pools-ios- sdk-user-sign-in – Bruce0

+0

はい.... iOS、Android、およびJavaScript SDKには、サンプルとコードサンプルがあります。他のプラットフォームにはそのような豊富な例はありません。私はxamarinを構築していますが、残念ながらxamarinのためのcognito docsはかなり豊富ではありません。それにもかかわらず、あなたのリンクに続いて、あなたのチャレンジベース認証フローについて話している別の兄弟リンクを見つけるのはうれしいです。 http://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-authentication-flow.html最終的には、私が探していたものです。応答してくれてありがとう。 –

0

あなたが議論したことから、私はあなたがウェブのフロントエンドからそれをしようとしていると考えています。なぜなら、Cognitoは必要なバックエンドのサポートを提供しており、プレゼンテーション層とのやりとり(認証、サインアップなど)が必要だと考えています。そのため、さまざまなモバイルプラットフォーム用のSDKが見つかりました。彼らはまた、Webアプリケーション用のSDKを持っています。そのアクセスは、Javascript SDKを介して利用できます。

ここでは、彼らのJS SDK- ここAWS Cognitoチームから開発者のAccessing Your User Pools using the Amazon Cognito Identity SDK for JavaScript

+0

私が述べたように「*私は、公式アマゾンCognito SDK *が存在しないいるプラットフォーム用のアプリケーションを構築しています」。私はウェブフロントエンド用にビルドしていません。 –

+0

その場合、開発中のある種類のミドルウェアにcognito apiを使用しようとしている場合(例えば、Pythonサービス) - あなたは運が悪いと思います! :( –

+0

うーん.........運のうち........私は –

1

つを使用してWebフロントエンドからの求めているものを達成するための詳細なチュートリアルです。

@md-abdul-munim's answerに追加するには、クライアントサイドSDKの1つを使用することをお勧めします。 REST APIを構築していて、そのAPIと通信するフロントエンドを構築する場合は、フロントエンドからCognitoを統合する方がよいでしょう。

バックエンドのCognitoを絶対に使用する必要がある場合は、GoogleのGAリリースで認証APIを利用できるようになります。 GoogleのCognito User Poolsベータ版の認証は、クライアントSDKを通じてのみ利用できます。

+0

はあなたがGAリリースで何を意味するか?実際には –

+0

をさらに詳しく説明することを願って次のGAリリースされるまで、私たちが使用していますXamarinとのクロスプラットフォームアプリを構築するためのアマゾンcognito公式Xamarin SDK。しかし、たとえ公式Cognito Xamarin SDKのみサインアップをサポートし、パスワードなどを忘れてしまった、それは私が一般的な可用性を意味GAリリースでは。 –

+0

でロギングをサポートしていません。これは時間でありますサービスはベータ版のうちの付属しており、数ヶ月以内にする必要がありますとき。 –

関連する問題