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

当ページのリンクには広告が含まれています。
いずみ

こんな悩みを解決できる記事を書きました!

僕は現役フリーランスエンジニア(歴年)で、資格は個保有しています。

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

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

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

いずみ

すぐ読み終わるので、ぜひ最後まで読んでくださいね♪

執筆者/監修者
  • フリーランスエンジニア(保有資格個)
  • ブログ・アフィリエイト歴5年
  • ブランドせどりで月利50万円⇨脱サラ
  • 投資歴5年(仮想通貨・FXが得意)
  • Twitterフォロワー約2,000人
  • 運営者情報はこちら
いずみです
目次

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認証を付けるにはどうすればよいですか?

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

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

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

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

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

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

下記をご覧ください。

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

下記をご覧ください。

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

下記になります。

まとめ

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

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

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

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

  • クソおすすめ本
¥4,480 (2024/06/01 23:28時点 | Amazon調べ)
いずみ

海外のエンジニアがどういった思考で働いているかが理解できます。

海外に行く気はないけど海外エンジニアの動向が気になる雑魚エンジニアにおすすめです(本当におすすめな本しか紹介しないのでご安心を)。

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

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