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

当ページのリンクには広告が含まれています。
いずみ

こんな悩みを解決できる記事を書きました!

僕は現役フリーランスエンジニア(歴年)で、資格は個保有しています。

結論、Chaliceでカスタムオーソライザーを設定するのは超簡単です。

具体的なソースコードを載せているので安心してくださいね。

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

いずみ

すぐ読み終わるので、ぜひ最後まで読んでくださいね♪

執筆者/監修者
  • フリーランスエンジニア(保有資格個)
  • ブログ・アフィリエイト歴5年
  • ブランドせどりで月利50万円⇨脱サラ
  • 投資歴5年(仮想通貨・FXが得意)
  • Twitterフォロワー約2,000人
  • 運営者情報はこちら
いずみです
目次

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でAPI Gatewayにカスタムオーソライザーを設定するにはどうすればよいですか?

@app.authorizer」を使えば設定できます。

詳しくは先ほどのソースコードをご確認ください。

Chaliceをローカルで起動した場合はどうなりますか?

ローカル起動した場合、認証は無視されます。

ですので、直接APIを実行しても認証エラーにはなりません。

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

下記をご覧ください。

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

下記をご覧ください。

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

下記になります。

まとめ

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

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

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

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

  • クソおすすめ本
¥4,480 (2024/06/01 23:28時点 | Amazon調べ)
いずみ

海外のエンジニアがどういった思考で働いているかが理解できます。

海外に行く気はないけど海外エンジニアの動向が気になる雑魚エンジニアにおすすめです(本当におすすめな本しか紹介しないのでご安心を)。

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

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