[AWS個人開発] HTTP401 エラー、APIキーの期限切れ
この記事を読むと以下が分かります:
- HTTP 401エラーの原因
- AWS AppSyncでのエラー解決手順
- 今後の認証システム改善案
初めてのAWS開発で遭遇した401エラー
この記事では、AWS AppSyncを利用したGraphQL APIで発生したHTTP 401エラーの原因とその解決方法を解説します。
HTTP401エラーとは
HTTP401エラーはHTTPクライアント エラー応答ステータス コードは、要求されたリソースに対する有効な認証資格情報がないため、要求が成功しなかったことを示します。
詳しくは以下の公式ドキュメントをご覧ください。
https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/http-401-unauthorized.html
AWS HTTP 401 ステータスコード (Unauthorized)
Modn Web docs
https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401
個人開発のWebアプリでの401エラー
Webアプリの経験
不具合の症状
個人開発したToDoWebアプリに登録したTodoリストの内容は表示されない。また、ボタンを押しても反応しない。
開発者ツールを見ると401エラーになっている。
原因:APIキーの期限切れ
GraphQLのAPIキーの期限が切れていた。
解決方法:APIキーの有効期限を延長する
解決手順
- AWS Management Console にログイン
- [AppSync] > [API] > [プロジェクト名] を選択
- 「プライマリー認可モード」の API キーを選択
- 編集ボタンをクリックし、有効期限を延長
表示されるようになった!
代替案:APIキーを使わない認証モード
"Amazon Cognito による ID トークンを用いた認証"と言う方法がある。
AWS Amazon API Gateway で API キーを使わずに認証とアクセス制御を行う
https://aws.amazon.com/jp/blogs/news/amazon-api-gateway-cognito-waf/
まとめ
今回はAPIキーの有効期限を延長することで問題を解決しましたが、今後はAmazon Cognitoを導入し、セキュアでスケーラブルな認証システムを構築したいと考えています。
この記事を参考に、AWSでのエラー解決に挑戦してみてください。
ここまで見て頂きありがとうございます!
Discussion