Web API 2 RESTサービスがあります。私たちは基本的なOWIN oAuthトークン認証を使用しており、httpsが必要です。基本httpでリクエストが行われたときに403 HTTPSの必須エラーを確認して返すRequireHttpsAttributeフィルタを追加しました。/トークン呼び出しがセキュアでない場合、Web APIは403を返します。
私たちの/トークンのリクエストです。トークンを要求すると、403エラーが返されません。 Startup.Auth.cs設定ファイルでAllowInsecureHttp = falseを設定します。これにより、ユーザーは安全でない呼び出しでトークンを要求できなくなります。
しかし、この呼び出しが行われると、私たちが望む403 HTTPSではなく404 Not Foundエラーが発生します。誰も私はこのエラーを修正する方法を見つけるのを助けることができますか?
私はRequireHttpsAttributeを使用していないことを認識しています。これは、通常の認証の外部で起こっていることです。これが、その認証用のトークンを取得する方法です。だから私は安全な接続をどこで調べるべきかわからない。私はGrantResourceOwnersCredentialsメソッドのAuthenticationOAuthProvidersクラスを試しました。ユーザー名とパスワードを認証する前にhttpsのチェックを入れましたが、そこからHTTPコードエラーを発生させることができませんでした。
要求がcontext.Request.Uri.Schemeを使用して安全であり、それは私がcontext.setError(「HTTPS必要な操作を行うことができます場合、私はGrantResourceOwnerCredentialsアクションで識別することができます"、"要求にHTTPが必要です ")、それでもエラー400 Bad Requestに戻ります。私はcontext.Response.StatusCode = 403を試みましたが、それを無視するようです。 –