2017-09-28 5 views
0

클라이언트에게 알리는 방법을 구현하고 승인 된 사용자의 비밀번호가 만료되었으며 클라이언트가 허용되기 전에 먼저 설정해야하는 RESTful API를 사용했습니다. API를 사용하십시오.RESTful API를 통한 비밀번호 변경 강제

POST/로그인시 {"rows":["tokenxyz"]}과 같이 토큰이 표시된 201을 반환합니다. 재건이 201 {"rows":[{"token":"xyz", "expire_ts":"2017-30-28 07:54:21", "password_change_needed":1}]}을 반환한다고 상상합니다. 그 후 사용자 요청에 대한 패치 요청에도 불구하고 요청마다 403 FORBIDDEN을 반환합니다.

나는이 계획에 대해 잘 모르겠습니다. REST 요청에 응답하는 더 좋은 방법이 있지만 클라이언트에게 암호를 변경해야한다고 말하고 있습니까? 나는 베스트 프랙티스를 찾고 있습니다.

답변

1

"401 unauthorized"를 반환하는 것이 가장 좋습니다. 토큰이 만료되었거나 암호를 변경해야하는 경우 더 이상 승인되지 않습니다. 403은 인증에 성공한 경우에만 적용됩니다. 주어진 자격 증명이 유효하기 때문에 로그인에

What's the good http status code to return on expired password?

what should be HTTP status code for credentials Expired error/exception?

+0

401 나에게 잘못 보인다. 관리자 만 새 암호를 설정하도록 요청합니다. 로그인 할 때 401을 반환 했으므로 나를 승인 할 권한이 없다는 의미입니다. 그렇지 않습니까? – MIB

+0

@MIB 아/login 이외의 다른 요청을 게시하는 것에 대해 생각하고있었습니다. –

+0

@MIB 403 반환해야합니다. 그러나 암호가 이미 만료 된 경우이 첫 번째 요청에서 201을 반환하는 것을 허용하지 않습니다. –