【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クラスを使う。
まとめ♪
いずみ

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

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

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