私が提案できる最善の方法は、WWW-Authenticateヘッダーを持つHTTP401ステータスコードです。
403リクエストの問題は、RFC 2616に「承認は役に立たず、リクエストを繰り返さないでください」と記載されていることです。(つまり、認証されているかどうかは関係ありません。そのリソースにアクセスすることはありません)。
401リクエストの問題は、「WWW-Authenticateヘッダーフィールドを含める必要がある」と述べていることです。誰かが指摘しているWWW-Authenticateヘッダにカスタム値を使用するための仕様に違反して表示されません。
RFC 2617には、HTTP401ステータスとこのようなカスタムWWW-Authenticateヘッダーを組み合わせても問題がない理由がわかりません。
WWW-Authenticate: MyAuthScheme realm="http://example.com"
OAuthの仕様は、(彼らは私の心RFCの奇妙な解釈を持っているが)、彼らはこれをお勧めして、実際に、ちょうどこれを行うようです。
WWW-Authenticate: OAuth realm="http://server.example.com/"
これはRFCによって明確に認可されているようには見えませんが、実際には禁止されていることはわかりません(MUSTまたはMUST NOT、SHOULDまたはSHOULD NOT条件と競合していないようです)。
タイムアウトやCSRFトークンが無効であるなどの、より具体的なHTTPステータスコードがあればいいのにと思います。