私はJSON REST APIを持っています。 15分間有効なトークンを与えるハンドシェイクがあります。 15分以内にあなたがするすべての通話はOKです。 15分後にエラーオブジェクト(コード、メッセージ、成功= falseを含む)を返していますが、HTTPエラーコードが返されるべきものは何ですか?そして、HTTPエラーコードを使用して特定のクライアントを混乱させるでしょうか? (HTML5、iPhone、Android)このシナリオでベストプラクティスとは何でしょうか?トークンの期限切れ - JSON REST API - エラーコード
答えて
私はOAuthの2仕様を検索し、私は見つけることができるすべては、それが期限切れになったとき、彼らは「無効なトークンエラー」を返すということです。彼らが使っているHTTPコードを見つけることはできません。しかし、私はあなたの最も安全な賭けは、ちょうどあなたが401 Unauthorized
ステータスコードを返すべき400
を使用することであると言うでしょう。あなたは、さらに再び
がWebアプリで何が起こるかを考えてみトークンを確立するためのハイパーメディアを提供するかもしれません。あなたは銀行のサイトを言うために行く。承認されていない場合は、ログインページに移動します。それからあなたはログインして、あなたは一度行くのが良いです。その後、期限が切れ、サイクルが繰り返されます。
単なる考えです。
FWIW FacebookはカスタムJSONレスポンスで400を使用します。私は個人的にはカスタムJSONレスポンスで401を好むでしょう。ここで
はFBの応答体である:
{
"error": {
"message": "Error validating access token: Session has expired on Jul 17, 2014 9:00am. The current time is Jul 17, 2014 9:07am.",
"type": "OAuthException",
"code": 190,
"error_subcode": 463
}
}
Facebookは開発のガイドラインではなく、例外として扱われるべきだと私に伝えています。ただ言って。 –
承認サーバーまたはリソースプロバイダーに関するFacebookへの呼び出しですか?承認サーバーは400:https://tools.ietf.org/html/rfc6749#section-5.2を返しますが、リソースプロバイダーは401を返す必要があります –
スペックrfc6750に従って - "OAuth 2.0の認証フレームワーク:ベアラートークンの使用"、https://tools.ietf.org/html/rfc6750、P.8、セクション3.1、リソースサーバーは401を返す必要があります:提供 >
invalid_tokenアクセストークン、有効期限が切れ、失効、不正な、またはその他の理由で 無効です。リソースは HTTP 401(Unauthorized)ステータスコードで応答すべきです(SHOULD)。クライアントMAY が新しいアクセストークンを要求し、保護されたリソース 要求を再試行します。
- 1. PHP REST APIトークン期限切れフロー
- 2. REST API Azureイベントハブ有効期限切れトークン
- 3. Web Apiトークン期限切れエラー
- 4. IdentityServer - 期限切れのトークンの処理
- 5. 「トークンの有効期限が切れて」
- 6. CloudKitエラー:変更トークンが期限切れ、
- 7. 期限切れのJWTトークン - トークンをリフレッシュする方法
- 8. トークンは1日後に有効期限が切れます
- 9. JSON Webトークンの有効期限
- 10. Googleコンタクトのトークンは有効期限が切れます
- 11. web api-asp.net IDトークンはその後のリクエストでも期限切れです
- 12. opentok phpの期限切れトークンを確認するには?
- 13. Vert.X期限切れのJWTトークンを検査する
- 14. ユーザログイン時に古いJWTトークンを期限切れにします
- 15. oauth2-server-phpで期限切れのトークンを削除する
- 16. TwitterAPI "トークンが無効または期限切れです。"
- 17. エラー:ファイアベースでauthトークンが期限切れになりました
- 18. AngularJSで期限切れのjwtトークンをリフレッシュする方法
- 19. Outlook REST APIの有効期限
- 20. (Rocket.Chat)authトークンを期限切れにしない
- 21. 能力トークンの期限切れによるTwilio.Device.offlineのトリガー
- 22. Android - Firebaseのユーザー認証トークンは期限切れですか?
- 23. .NetCore JwtBearerAuthenticationが期限切れのトークンを拒否しない
- 24. フォームのハッシュ(トークン)期限切れを変更するZend Framework
- 25. 永続認証トークンの期限が切れます
- 26. トークンの有効期限が切れています
- 27. REST API認証トークン
- 28. Yii2期限切れのアクセストークン
- 29. Cognitoで期限切れになったOpenIdトークンをリフレッシュ
- 30. Google APIのアクセストークンは期限切れになりませんか?
+1、すばらしい質問です。あなたはこれに対して良い解決策を見つけましたか? (btw - [netflix](http://developer.netflix.com/docs/read/HTTP_Status_Codes)と[linkedin](https://developer.linkedin.com/documents/handling-errors-invalid-tokens)の両方が返されますa 401)。 –
可能性のある重複した[セッショントークンが無効である場合にどのようなステータスコードは、私が使用する必要がありますか?](https://stackoverflow.com/questions/20613088/what-status-code-should-i-use-when-session-token-is - 無効) –