質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.36%
JWT(JSON Web Token)

JWT(JSON Web Token)とは、JSONをベースとしたアクセストークンの仕様。電子署名付きのURL safeなJSONのことを指します。電子署名が付いているため、改ざんをチェックできる点がメリットです。

Amazon Cognito

Amazon Cognitoは、Webアプリケーションやモバイルアプリケーションの認証、許可、ユーザー管理をサポートするサービスです。ユーザー登録とサインインを行うか、FacebookやAmazon、Googleなどのサードパーティーを通じてサインインできる機能を提供します。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

意見交換

クローズ

1回答

240閲覧

AWS上のSaas開発にてJWTを利用した認証方法の実装例を相談したいです。

BlackCoffee

総合スコア0

JWT(JSON Web Token)

JWT(JSON Web Token)とは、JSONをベースとしたアクセストークンの仕様。電子署名付きのURL safeなJSONのことを指します。電子署名が付いているため、改ざんをチェックできる点がメリットです。

Amazon Cognito

Amazon Cognitoは、Webアプリケーションやモバイルアプリケーションの認証、許可、ユーザー管理をサポートするサービスです。ユーザー登録とサインインを行うか、FacebookやAmazon、Googleなどのサードパーティーを通じてサインインできる機能を提供します。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2024/01/17 09:42

編集2024/01/17 09:48

0

0

テーマ、知りたいこと

AWS上のSaaSサービス開発の認証

背景、状況

開発中のSaaSの認証をJWTを使ったトークン認証で実装したいです。
SaaSがAWSにデプロイすることが決定しているので、Cognitoでメアドとパスワードを利用した認証を開発中です。

質問内容

emailを利用した場合取得されるトークンのクレームにemailを含めず、RDSに事前に登録してあったユーザーの主キーを含めたいといった要件にはどのように対応しますか?
皆さんのご経験から構成やフローなどをお伺いしたいです。
※私自身、認証構成の草案を持っていないので、細かい要件度外視で「こんなのあるよ!」的な内容の相談をしたいです。
※cognitoを利用しない実装案もいただけましたら幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

回答1

#1

yu_1985

総合スコア7586

投稿2024/01/19 07:29

パッと思いついただけなので実現可能かどうかは要検証ですが

まず、トークンのクレームにRDSの主キーを含める方法について

考えられる方法として

  • Cognitoとは別に認証APIを立てる
  • Cognitoの属性情報に予め主キーを何らかの方法で登録しておく

のいずれかかなと思います。

RDSに登録しているとなると、仮に都度主キーを含めるならAWSのネットワーク内へのアクセスが原則必要となります。(パブリックにすることも可能ですが、弊害が大きすぎるので選択肢から除外します。)
CognitoのLambdaトリガーで取得する方法も考えられますが、パブリックなLambdaからプライベートなRDSへのアクセス方法を用意するのが面倒ですし、それだけのために毎回DBアクセスが発生するのも微妙だと思います。

トークンのクレームにemailを含めない方法は難しいです。
まず、emailはOIDC標準のクレーム群に含まれており、それを削除する方法は提供されていないようです。
そうなると独自で認証の仕組みを作るしかないと思います。

この要件は何が元となって生まれたのでしょうか?
それによっては別の対処法を考えることでどうにかできるかもしれません。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

最新の回答から1ヶ月経過したため この意見交換はクローズされました

意見をやりとりしたい話題がある場合は質問してみましょう!

質問する

関連した質問