【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認証を付ける方法が理解できるので、早速見ていきましょう。

いずみん

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

目次

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クラスを使う。

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

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

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

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

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