2017-12-18 27 views
0

私のプロジェクトでAWS Cognitoを使用しています。私はユーザーのためにいくつかのカスタムフィールドを持っています。ユーザーがフィールドを更新しないようにするにはどうすればよいですか? "custom:account_type"または "custom:status"?コードはクライアントから呼び出されるため、操作することができます。UpdateUserAttributesエンドポイントを検証する方法は?

これを解決する1つの方法は、アプリケーションのバックエンドを呼び出してデータを検証し、Cognitoに電話をかけることですが、私はこのアプローチが嫌いです。バックエンドはこのフローに関与すべきではありません。

クライアントSDKはすべての属性を更新する可能性があるので、エンドポイントを実行する前に呼び出され、データを検証するラムダ関数を作成できないのだろうか?または、他の解決策がありますか?

私が何もしなければ、ユーザーが追加の権限を与える可能性のある制限されたフィールドを更新できる大きなセキュリティ問題があります。

答えて

1

コンソールでは、CLIを使用して、設定済みの各アプリケーションクライアントによってどの属性が読み書き可能かを設定できます。 custom:account_typeやcustom:statusなどの属性を書き込むことができないクライアントをクライアントに割り当てることができます。ただし、ユーザーのバックエンドからこれらのフィールドを更新することはできます。

カスタムロジックを使用する場合は、アプリケーションクライアントがそれらのフィールドを読み取らせることができます。

関連する問題