【AWS Chalice】カスタムオーソライザーを設定する方法


AWS Chaliceでカスタムオーソライザーを設定したいんだけど、やり方が分からないんだよね…
こんな疑問にお答えします。
この記事で分かること
- 本記事の執筆者
本記事を書いている僕はエンジニア歴7年です。
AWSは業務歴2年半なので、かなり有益な情報を発信できるかと思います。
結論、Chaliceでカスタムオーソライザーを設定するのは超簡単です。
具体的なソースコードを載せているので安心してくださいね。


本記事を読んでいただければ、Chaliceでカスタムオーソライザーを設定する方法が理解できるので、早速見ていきましょう。



すぐ読み終わるので、是非最後まで読んでみてください!
目次
Chaliceでカスタムオーソライザーを設定する方法
早速ですが、Chaliceでカスタムオーソライザーを設定します。
STEP
カスタムオーソライザーの設定
from chalice import AuthResponse, Chalice
app = Chalice(app_name='hello-world')
@app.authorizer()
def demo_auth(auth_request):
token = auth_request.token
if token == 'allow':
return AuthResponse(routes=['*'], principal_id='user')
else:
return AuthResponse(routes=[], principal_id='deny')
@app.route('/authorizer', methods=['GET'], authorizer=demo_auth)
def authorizer():
return { 'hello': 'world' }
「@app.authorizer」がカスタムオーソライザーです。
demo_authの処理がLambdaとしてデプロイされます。
STEP
chaliceをデプロイ
$ chalice deploy
chaliceをデプロイします。
STEP
オーソライザーの確認


API Gatewayのオーソライザーにカスタムオーソライザーが設定されています。
STEP
Lambdaの確認


Lambdaが新規作成されていればOKです。



非常に簡単でしたね。
よくある質問|Chaliceでカスタムオーソライザーを設定する方法
- ChaliceでAPI Gatewayにカスタムオーソライザーを設定するにはどうすればよいですか?
-
「@app.authorizer」を使えば設定できます。
詳しくは先ほどのソースコードをご確認ください。
- Chaliceをローカルで起動した場合はどうなりますか?
-
ローカル起動した場合、認証は無視されます。
ですので、直接APIを実行しても認証エラーにはなりません。
- IAM認証を付ける方法を教えてもらえますか?
-
下記をご覧ください。
IAM認証はこちら!【AWS Chalice】API GatewayにIAM認証を付ける方法 AWS ChaliceでAPI GatewayにIAM認証を付けたいんだけど、やり方が分からないんだよね… こんな疑問にお答えします。 この記事で分かること ChaliceでAPI GatewayにIAM… - Cognito認証を付ける方法を教えてもらえますか?
-
下記をご覧ください。
Cognito認証はこちら!【AWS Chalice】API GatewayにCognito認証を付ける方法 AWS ChaliceでAPI GatewayにCognito認証を付けたいんだけど、やり方が分からないんだよね… こんな疑問にお答えします。 この記事で分かること ChaliceでAPI Gatewayに… - 公式ドキュメントはありますか?
-
下記になります。
まとめ|カスタムオーソライザーを設定するのは超簡単
今回は、Chaliceでカスタムオーソライザーを設定する方法について解説しました。
以下が本記事のまとめになります。
まとめ
- カスタムオーソライザーは「@app.authorizer」を使えば設定できる。
この記事があなたのお役に立てば幸いです。
サイト内には、他にも初心者向けの記事を多く投稿していますので良ければ参考にしてみてください。
最後までお読みいただきありがとうございました!