2015-01-02 3 views
1

저는 API에 OAuth 2.0을 구현하고 있습니다. 우리는 JWT를 인증에 사용하고 클라이언트 전용 재 인증을 위해 토큰을 새로 고칩니다. 클라이언트에게 POST /token 본문에 userId도 제공하도록 요청하여 사용자와 새로 고침 토큰을 함께 알아야하므로 (무작위로 많은 문자열을 시도하고 어떤 것이 작동하는지 확인할 수 없으므로)? 표준은 무엇입니까?OAuth 2.0 새로 고침 토큰이 userID를 요청해야합니까?

답변

0

사양이 올바르게 구현 된 경우 새로 고침 토큰을 추측해서는 안됩니다. https://tools.ietf.org/html/rfc6749#section-10.4는 말한다 :

권한 부여 서버가 새로 고침 토큰 생성, 수정 또는 권한이없는 자에 의해 유효 새로 고침 토큰을 생성하는 추측 할 수 없도록해야합니다.

당신은 당신의 새로 고침 토큰의 임의성이에 사용자 ID를 추가하여 다른이되지 것입니다 있도록 충분한 엔트로피와 새로 고침 토큰을 생성 있는지 확인해야합니다. 그렇지 않으면 새로 고침 토큰을 추측하는 것은 사용자 ID + 새로 고침 토큰을 추측하는 것만 큼 어렵습니다. 그 외에도 POST에서 사용자 ID를 추가하면 사용자 ID의 길이로 새로 고침 토큰에 임의의 문자열을 추가하는 것보다 실제로 예측할 수 있습니다.

+1

좋은 지적. 누군가가 액세스 토큰에 손을 대었지만 그것이 2 인 인증 유형의 한 종류인지는 모르는 시나리오를 고려하고있었습니다.하지만 두 가지 요소로 구성된 인증 형식의 한 종류 일지라도 실제로 어쨌든 어떻게 될지 상상할 수는 없습니다. SSL을 사용하고 있었고 SSL을 사용하지 않았다면 userID도 볼 수있었습니다 : P – jtmarmon

+0

두 가지를 함께 보내면 다른 하나는 보이지 않지만 실제로는 보이지 않습니다. 저장을 위해 똑같은 일이 일어날 것입니다. –