2014-04-08 4 views
0

저는 REST 시스템에서 작업 중이며 사용자가 서비스를 사용하기 위해 인증하는 방법을 개발하기 시작합니다. 해싱 방법을 연구 한 후에 읽었습니다. WikiPedia - Basic AuthenticationREST 기반 인증 구현

그러나 구현에 대해 몇 가지 질문이 있습니다. 내가 올바르게 이해하면 사용자 이름과 암호가 64로 인코딩되어 서버로 전송됩니다. 내 혼란이 여기에 있습니다.

서버가 이러한 요청을 받으면 나는 base64를 결정하고 해시를 확인해야한다고 가정합니다. 그러나이 작업이 완료되면 사용자의 향후 요청을 확인하기 위해 수행해야 할 작업을 이해하지 못합니다.

모든 통신시이 base64를 확인해야합니까? 나는 해시 암호 만 갖는 목적을 무력화 할 것이기 때문에 매번 암호를 확인하지 않아도되도록 서버에 base64를 저장하고 싶지 않습니다. 또한 내 서비스는 SSL만으로, HTTP 헤더 대신 인증 수단으로 나머지 요청의 매개 변수로 사용자 이름과 암호를 전달하는 것이 좋습니다.

+0

자바, 닷넷, 파이썬, PHP, 펄용인가요? –

+0

이것은 Java 용입니다. – User093203920

+1

REST에는 보안을 위해 * 필수/정의 된 프로토콜이 없습니다. 구글, 아마존 등이 인증을 구현하는 방식은 다르다. 당신은 여러 가지 방법으로 그것을 할 수있다. REST는 인증과 독립적입니다. –

답변

1

기본 인증은 HTTP를 통해 클라이언트에서 서버로 사용자 이름과 비밀번호를 보내는 표준 방법입니다. 기본 SSL 사용 여부 또는 이것이 여러 호출 중 첫 번째 호출인지 여부는 정의하지 않습니다.

내가 원하는 말 : 당신이 결정할 수 있습니다.

그러나 REST는 무 상태이므로 서버에 연결할 때마다 세션을 만들지 말고 보내야합니다.

REST-params에 대한 기본 인증의 장점은 거의 모든 웹 프레임 워크 (예 : Java EE, Spring Security)의 일부인 점입니다. 후자는 모든 요청에 ​​추가 매개 변수를 추가하고 매번 확인해야합니다.