【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」を使えば設定できる。
まとめ♪
いずみ

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

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

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