Jersey 2.x를 사용하여 내 애플리케이션 용 REST API를 구현했습니다. 나중에 모바일 앱을 추가 할 예정이므로 REST 방식을 사용했다. 지금은 단지 웹 앱입니다. 나는 보안에 대해 생각하고있다. 내가 처리해야 할 두 가지가 있습니다.REST API를 통한 인증 및 API 자체 보호
- 사용자 인증 및 권한 부여 : 지금은 HTTP를 통한 HTTP 기본 인증을 사용하고 있습니다. 그러나 사용자가 유선을 통해 사용자 이름과 암호를 보내는 대신에 더 좋은 방법이 있습니다. 나는 그것이 HTTPS를 통해 이해하지만 나는 탐구 중이다. OAuth 1.0a가 떠오른다. 나는 올바른 길을 가고 있는가?
- API 자체 보안 : 내 웹 앱을 제외하고 다른 클라이언트가 흰색 목록에있는 것을 원하지 않습니다. 나중에 모바일 앱을이 화이트리스트에 추가 할 것입니다. 이 클라이언트를 식별 할 수있는 비밀 키를 상상하고 있습니까?
나는 모두 # 1과 # 2는 위의 OAuth 1.0a를 함께 할 수있는 상상하지만, 보안 및 권한이 부여되고 있는지 그들은 측면에서 두 개의 서로 다른 구현이다. 둘 다 공존 할 수 있습니까? 현실 세계에서 시작하는 방법과 몇 가지 예를 알려줄 수 있습니까?
거기에는 많은 정보가 있지만 보안은 내 강한 편이 아니며 제 자신의 응용 프로그램에서 직접 코딩하여 이해하려고합니다.
가능한 중복 http://stackoverflow.com/questions/6767813/api-keys-vs-http-authentication-vs-oauth-in-a- 편안한 API) –
OAuth 1.0a를 언급하고 OAuth 2.0/OpenID Connect를 사용하지 않는 특별한 이유가 있습니까? –
솔직히 OAuth 2.0을 아직 연구하지 않았습니다. 그래서 이유가 있습니다. – motiver