2014-03-12 1 views
0

OAuth 보안 API를 구현하고 각 클라이언트에 고객 키와 비밀번호를 할당합니다. 나는 클라이언트를 위해 별도의 API 키를 할당하고 추적 할 필요가 없다. 나는 인증이 다음과 같이 일어난다 고 생각하고있다 : 그들은 페이로드를 생성하고 키와 비밀로 서명하고 키를 전송한다.이 oauth 인증 방법은 안전한가요?

서버에서 키를 입력하여 클라이언트 비밀번호를 저장합니다. 페이로드를 받으면 키를 사용하여 비밀을 찾은 다음 그 비밀로 페이로드를 디코딩합니다. 따라서 비밀은 전달되지 않지만 열쇠가 ​​있습니다.

내 질문은 :이 상황을 처리하는 안전한 방법입니까, 아니면 여기에 중요한 것을 놓치고 있습니까?

답변

1

클라이언트가 인증 서버에 인증하는 방법에 대해 이야기하는 경우 OAuth 2.0은 TLS로 엔드 포인트를 보호해야하므로 Basic authentication을 사용하는 것이 좋습니다.

+0

TLS는 단지 권장 사항 일 뿐이라고 생각했습니다. 하지만 난 평범한 HTTP를 통해 어떤 이유로 그것을해야한다고. 그렇다면 아마도 OAuth 2.0과 호환되지는 않지만 어쨌든이 특정 프로토콜은 안전합니까? 여기에 누락 된 취약점은 무엇입니까? –

+0

클라이언트는 정품 인증 서버와 통신하고 있는지 알 수 없습니다. –

+0

요청이 잘못된 장소로 갔다면 클라이언트에 나쁜 영향을 미칠 수 있습니다. 그러나 불량 클라이언트가 상처를 입힐 수있는 방법이 있습니까 ** ** **? –