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

悩んでいる人

AWS Chaliceでカスタムオーソライザーを設定したいんだけど、やり方が分からないんだよね…

こんな疑問にお答えします。

  • 本記事の執筆者
プロフィール
  • フリーランスエンジニア(保有資格約20個)
  • ブログ・アフィリエイト歴5年
  • ブランドせどりで月利50万円⇨脱サラ
  • Twitterフォロワー約2,000人
いずみん

本記事を書いている僕はエンジニア歴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認証を付ける方法を教えてもらえますか?

下記をご覧ください。

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

下記をご覧ください。

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

下記になります。

まとめ|カスタムオーソライザーを設定するのは超簡単

今回は、Chaliceでカスタムオーソライザーを設定する方法について解説しました。

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

まとめ
  • カスタムオーソライザーは「@app.authorizer」を使えば設定できる。

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

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

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

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

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