3
Java JAX-RS를 사용하여 REST API를 구축 했으므로 API는 공개 될 것이며 OAuth 2.0에 의해 보호됩니다.Jax RS REST API - OAuth 2.0 및 제어 오리진
빌드중인 내부 프로젝트에서이 API를 사용할 계획이며 내 API이기 때문에이 API에 대한 호출을 사용자가 승인 할 것으로 기대하지 않습니다. 전화의 출처를 확인하기 위해 나는 새 필터를 구현할 수 있는지가 궁금
<!-- Exposing the facility service as a REST service -->
<jaxrs:server id="restContainer" address="/">
<jaxrs:serviceBeans>
.. services beans
</jaxrs:serviceBeans>
<jaxrs:providers>
<ref bean="oauthFilter"/> <-- filter to validate oauth
<ref bean="apiUsageFilter"/> <-- filter to check api usage (integrated with 3scale)
<ref bean="jacksonProvider" />
<ref bean="exceptionMapper" />
</jaxrs:providers>
<jaxrs:extensionMappings>
<entry key="json" value="application/json" />
<entry key="xml" value="application/xml" />
<entry key="html" value="text/html" />
</jaxrs:extensionMappings>
<jaxrs:features>
<bean class="org.apache.cxf.feature.LoggingFeature"/>
</jaxrs:features>
</jaxrs:server>
을 : 지금
, 나는, 구성의 샘플을 토큰 액세스를 확인하고 내 OAuth를 제공에 대해 그것을 검증하기 위해 필터를 사용하고 있습니다 , 나열된 ip (s)/domain (s) 중 하나 인 경우 oauth를 생략하고 그렇지 않으면 oauth로 진행하십시오.이러한 접근이 가능합니까? 좋은 연습일까요? 장점과 단점?
감사합니다.
도움 말? :) 내가 가진 아이디어 중 하나는 oauth 상호 작용을 우회하여 API를 호출하는 특정 (미리 정의 된) 앱 ID (또는 클라이언트 ID라고도 함)를 허용하는 필터를 구현하는 것입니다. 하지만 호출자가 호출의 쿼리 문자열에 클라이언트 ID/비밀 ID를 지정해야하는 단점이 있습니다. 따라서 모바일 앱에서이 코드를 사용해야하는 경우 모든 개발자가 쉽게 알아볼 수 있으며 해당 ID를 사용하여 oauth를 우회 할 수 있습니다. 그리고이 클라이언트 ID/비밀 키를 숨기기 위해 프록시를 구현해야 할 것 같습니다. 누구든지 내 원래 질문에 대한 답변을 가지고 있다면 정말 고마워. :) –