3
RESTfulログイン失敗:401またはカスタム応答を返す
これは概念的な質問です。 RESTful Webサービスに対するログインアクションをサポートする必要があるクライアント(モバイル)アプリケーションがあります。WebサービスはRESTfulであるため、これはクライアントがユーザーからユーザー名/パスワードを受け入れ、そのユーザー名/パスワードをサービスで検証し、その後のすべての要求でそのユーザー名/パスワードを送信することを覚えていることになります。 このWebサービスの他のすべての応答は、JSON形式で提供されます。 問題は、特定のユーザー名/パスワードが有効かどうかを単に確認するためにWebサービスにクエリを実行する場合、Webサービスが常にJSONデータで応答して成功または失敗を通知するか、または適切な資格情報とHTTPでHTTP 200を返すかです。資格情報が不適切な場合は401。 私が尋ねる理由は、他の一部のRESTfulサービスは、資格情報が有効かどうかを尋ねているだけの場合でも、不正な資格情報に401を使用するためです。ただし、401応答についての私の理解は、それらは有効な資格情報なしではアクセスできないはずのリソースを表すということです。ただし、ログインリソースの目的はすべて、資格情報が有効かどうかを通知することなので、ログインリソースはだれでもアクセスできる必要があります(SHOULD)。 別の言い方をすれば、次のようなリクエストのようです。 myservice.com/this/is/a/user/action 不正な認証情報が提供された場合は401を返します。しかし、次のようなリクエスト: myservice.com/are/these/credentials/valid その特定のURL(要求)は有効な資格情報の有無にかかわらず許可されるため、401を返すことはありません。 これについて、正当化された意見がいくつかあります。これを処理する標準的な方法は何ですか?これを論理的に適切に処理する標準的な方法は何ですか?