🔰

[AWS個人開発] HTTP401 エラー、APIキーの期限切れ

2025/01/12に公開

この記事を読むと以下が分かります:

  • 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キーの有効期限を延長する

解決手順

  1. AWS Management Console にログイン
  2. [AppSync] > [API] > [プロジェクト名] を選択
  3. 「プライマリー認可モード」の API キーを選択
  4. 編集ボタンをクリックし、有効期限を延長

表示されるようになった!

代替案: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