[解決済み] 認証情報を削除する --- django, elastic beanstalk, oauth
2023-07-24 12:58:04
質問
django-rest-frameworkを使ってdjangoでREST apiを実装し、認証にoauth2を使っています。
でテストしてみました。
curl -X POST -d "client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=password&username=YOUR_USERNAME&password=YOUR_PASSWORD" http://localhost:8000/oauth2/access_token/
と
curl -H "Authorization: Bearer <your-access-token>" http://localhost:8000/api/
をローカルホストで実行し、ドキュメントと一致する結果を得ました。
これを既存のAWS elastic beanstalkインスタンスにプッシュアップすると、次のような結果が得られました。
{ "detail" : "Authentication credentials were not provided." }
どのように解決するのですか?
sahutchiの解決策は、Tom dickinが指摘したように、環境変数が変更されない限り、うまくいきました。私はEBの内部を少し深く掘り下げ、wsgi.confテンプレートがどこにあるかを見つけ、そこに"WSGIPassAuthorization On"のオプションを追加しました。
commands:
WSGIPassAuthorization:
command: sed -i.bak '/WSGIScriptAlias/ a WSGIPassAuthorization On' config.py
cwd: /opt/elasticbeanstalk/hooks
これで、環境変数を変更しても、常に動作します。お役に立てれば幸いです。
編集部:まだたくさんの人がこの対応に当たっているようですね。私はしばらくElasticBeanstalkを使っていませんが、以下のManel Closさんのソリューションを使って見ます。個人的には試していませんが、よりクリーンなソリューションのようです。これは文字通りEBのスクリプトをハックしたもので、将来EBがスクリプトを更新した場合、特に別の場所に移動した場合、壊れる可能性があります。
関連
-
Djangoキャッシュの説明
-
[解決済み] Django のビューで 2 つ以上のクエリセットを結合するにはどうすればよいですか?
-
[解決済み] Google OAuth 2 認証 - エラー: redirect_uri_mismatch
-
[解決済み] RuntimeWarning: DateTimeFieldがナイーブなdatetimeを受信した
-
[解決済み】Amazon EC2とAWS Elastic Beanstalkの違いについて
-
[解決済み] Django のモデルで電話番号を保存する最良の方法は何ですか?
-
[解決済み] Django ManyToMany filter()
-
[解決済み] Djangoです。文字列からモデルを取得する?
-
[解決済み] Djangoで異なる設定でUnitテストを行うには?
-
[解決済み] DjangoでSELECT COUNT(*) GROUP BYとORDER BYを行うにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Django でチェックボックスの値を取得する方法
-
django store to databaseは現地時間より8時間短い?(2021-05-12更新)
-
[解決済み] RuntimeWarning: DateTimeFieldがナイーブなdatetimeを受信した
-
[解決済み] [Solved] カスタムDjango manage.pyコマンドをテストドライバから直接呼び出すにはどうしたらいいですか?
-
[解決済み】Djangoでモデルインスタンスをシリアライズする方法は?
-
[解決済み] Django で現在ログインしているユーザのユーザ ID を取得する方法は?
-
[解決済み] DjangoのRest Frameworkはcsrfを削除します。
-
[解決済み] Djangoのデータベースクエリ。id でオブジェクトを取得するには?
-
[解決済み] django-tastypie と djangorestframework の違いは何ですか?[クローズド]
-
[解決済み] dbなしのdjangoユニットテスト