【AWS Chalice】API GatewayにCognito認証を付ける方法

悩んでいる人

AWS ChaliceでAPI GatewayにCognito認証を付けたいんだけど、やり方が分からないんだよね…

こんな疑問にお答えします。

  • 本記事の執筆者
プロフィール
  • フリーランスエンジニア(保有資格約20個)
  • ブログ・アフィリエイト歴5年
  • ブランドせどりで月利50万円⇨脱サラ
  • Twitterフォロワー約2,000人
いずみん

本記事を書いている僕はエンジニア歴7年です。
AWSは業務歴2年半なので、かなり有益な情報を発信できるかと思います。

結論、ChaliceでAPI GatewayにCognito認証を付けるのは超簡単です。

具体的なソースコードを載せているので安心してくださいね。

本記事を読んでいただければ、ChaliceでAPI GatewayにCognito認証を付ける方法が理解できるので、早速見ていきましょう。

いずみん

すぐ読み終わるので、是非最後まで読んでみてください!

\ 年収が2倍に?! /

目次

ChaliceでAPI GatewayにCognito認証を付ける方法

早速ですが、ChaliceでAPI GatewayにCognito認証を付けてみます。

STEP
現状のAPI Gatewayを確認する
※画像クリックで拡大

認可は「なし」に設定されています。

STEP
Cognitoを開く
※画像クリックで拡大

Cognitoを開き、ユーザープールの管理をクリックします。

STEP
ユーザープールを作成する
※画像クリックで拡大

ユーザープールを作成するをクリックします。

いずみん

これ以降はステップ通りにポチポチするだけなので割愛します。

STEP
プールARNをコピー
※画像クリックで拡大

プールARNをコピーします。

STEP
ChaliceにCognito認証を付与
from chalice import Chalice, CognitoUserPoolAuthorizer

app = Chalice(app_name='hello-world')

authorizer = CognitoUserPoolAuthorizer(
    'MyPool', provider_arns=['コピーしたプールARN'])

@app.route('/', methods=['GET'], authorizer=authorizer)
def index():
    return {'hello': 'world'}

authorizerを設定することでCognito認証が付与されます。

オーソライザーについて

MyPool」はオーソライザー名なので任意の値を設定できます。

↑のソースコードでデプロイすると、下記のようなオーソライザーが自動で作成されます。

※画像クリックで拡大
STEP
デプロイする
$ chalice deploy

デプロイします。

STEP
再度、API Gatewayを確認する
※画像クリックで拡大

Cognito認証が付与されていればOKです。

いずみん

簡単でしたね…

よくある質問|ChaliceでAPI GatewayにCognito認証を付ける方法

ChaliceでAPI GatewayにCognito認証を付けるにはどうすればよいですか?

ユーザプールを作成し、authorizerを設定すればOKです。

詳しくは先ほどのソースコードをご確認ください。

Chaliceをローカルで起動した場合はどうなりますか?

ローカル起動した場合、認証は無視されます。

ですので、直接APIを実行しても認証エラーにはなりません。

IAM認証を付ける方法を教えてもらえますか?

下記をご覧ください。

カスタムオーソライザーを付ける方法を教えてもらえますか?

下記をご覧ください。

公式ドキュメントはありますか?

下記になります。

まとめ|API GatewayにCognito認証を付けるのは超簡単

今回は、ChaliceでAPI GatewayにCognito認証を付ける方法について解説しました。

以下が本記事のまとめになります。

まとめ
  • ChaliceでAPI GatewayにCognito認証を付けるにはCognitoUserPoolAuthorizerクラスを使う。

この記事があなたのお役に立てば幸いです。

サイト内には、他にも初心者向けの記事を多く投稿していますので良ければ参考にしてみてください。

最後までお読みいただきありがとうございました!

最後に

僕が個人的におすすめするAWSエンジニア向けのフリーランスエージェントをご紹介します。

いずみん

エンジニアで実務経験のある方(目安は3年)はフリーランスも視野に入れましょう。

僕自身、フリーランスになって収入が2倍(年収+280万)になりました。

あなたの貴重なスキルを安売りしないようにしましょうね!

初めてのフリーランスなら「レバテックフリーランス」

総合評価案件数(公開)面談
約40,000件無料
マージン率単価アフターフォロー
10〜20%あり
Good Point
  • 国内最大級のフリーランスエージェント
  • 案件数は約40,000件(国内最多)
  • 高単価案件が豊富
  • マージン率は10〜20%

は国内最大級のフリーランスエージェントです。

高単価案件が豊富で、初めてフリーランスになる方におすすめのエージェントです。

いずみん

僕も最初はレバテックを利用しましたが、おかげさまで収入が約1.5倍になりました(笑)。

正社員並みの保証なら「Midworks(ミッドワークス)」

総合評価案件数(公開)面談
約3,000件以上無料
マージン率単価保証
非公開
Good Point
  • 正社員並みの手厚い保証
  • 給与保証あり
  • 非公開案件が豊富
  • マージン率は一律20%

正社員並みの手厚い保証を受けたい方におすすめのエージェントです。

非公開案件が豊富で給与保証も付いているので、安心してフリーランスにチャレンジできますよ!

いずみん

ちなみに僕はMidworks経由でフルリモート案件に参画できました!
営業担当の方も真摯に対応してくれて非常に助かりました。

この記事が気に入ったら
フォローしてね!

シェアしてね!
  • URLをコピーしました!
目次