
こんな悩みを解決できる記事を書きました!
僕は現役フリーランスエンジニア(歴9年)で、資格は13個保有しています。
結論、ChaliceでAPI GatewayにCognito認証を付けるのは超簡単です。
具体的なソースコードを載せているので安心してくださいね。


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



すぐ読み終わるので、ぜひ最後まで読んでくださいね♪
ChaliceでAPI GatewayにCognito認証を付ける方法
早速ですが、ChaliceでAPI GatewayにCognito認証を付けてみます。


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


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


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



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


プールARNをコピーします。
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」はオーソライザー名なので任意の値を設定できます。
↑のソースコードでデプロイすると、下記のようなオーソライザーが自動で作成されます。


$ chalice deploy
デプロイします。


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



簡単でしたね…
よくある質問
ChaliceでAPI GatewayにCognito認証を付けるにはどうすればよいですか?
ユーザプールを作成し、authorizerを設定すればOKです。
詳しくは先ほどのソースコードをご確認ください。
Chaliceをローカルで起動した場合はどうなりますか?
ローカル起動した場合、認証は無視されます。
ですので、直接APIを実行しても認証エラーにはなりません。
IAM認証を付ける方法を教えてもらえますか?
下記をご覧ください。


カスタムオーソライザーを付ける方法を教えてもらえますか?
下記をご覧ください。


公式ドキュメントはありますか?
下記になります。
まとめ
今回は、ChaliceでAPI GatewayにCognito認証を付ける方法について解説しました。
以下が本記事のまとめになります。



最後までお読みいただき、ありがとうございました!
- クソおすすめ本



海外のエンジニアがどういった思考で働いているかが理解できます。
海外に行く気はないけど海外エンジニアの動向が気になる雑魚エンジニアにおすすめです(本当におすすめな本しか紹介しないのでご安心を)。