2017-01-21 40 views
0

OAuth 2.0 password flowを使用してユーザーを認証するAPIを作成しています。アクセストークンの要求が拒否された場合、クライアントがパスワードが間違っているか期限切れであるかどうかを判断する方法はないようです。OAuth 2.0アクセストークンを取得する際のパスワードの有効期限

invalid_grant:the specから、invalid_grantのエラーコードが両方のケースで返されるべき提供の権限付与(例えば、認可コード、リソースの所有者の認証情報)やリフレッシュトークンが無効で、有効期限が切れ、失効し、一致していません。承認リクエストで使用されたリダイレクトURI、または別のクライアントに発行されたURI。

は、クライアントが必要な行動を取ることができるように、それは許容パスワードの有効期限が切れていることを述べるために応答に error_descriptionを使用することです、とされていない場合、OAuthのでパスワードの有効期限を処理するための標準的なアプローチは何ですか?

答えて

0

「パスワードが間違っていた、または期限切れになった」などの失敗の理由が「漏洩」であることは、認証のベストプラクティスではありません。

私は、「サーバ」が失敗の理由を記録し、リクエスタに情報を返さないことを提案します。

+0

私は、ログインに失敗した理由を返すことがセキュリティ上の懸念になることに同意します。どのようにして、ログインフォームを持つクライアントアプリケーションは、「ログインに失敗しましたか」というエラーメッセージを表示するか、ユーザーを更新パスワードページにリダイレクトするかを選択できますか? – Coder1095

+0

IMHOでは、クライアントはログインページをホストしてはいけません。ログインページはIDP(GoogleまたはFacebookまたは...)によってホストされ、実行するリダイレクトを知っています。認証が必要な場合は、OAuthではなくOpenID Connectを使用する必要があります。 https://oauth.net/articles/authentication/ – jwilleke

関連する問題