gpt4 book ai didi

java - Jax RS REST API - OAuth 2.0 和控制来源

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:10:00 60 4
gpt4 key购买 nike

我有一个使用 Java JAX-RS 构建的 REST API,该 API 将公开并受 OAuth 2.0 保护。

我计划在我正在构建的内部项目中使用这个 API,因为它是我的 API,所以我不希望用户授权我调用这个 API。

现在,我正在使用过滤器来检查访问 token 并根据我的 OAuth 提供程序验证它,配置示例:

<!-- 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>

我想知道我是否可以实现一个新的过滤器来检查调用的来源,如果它来自列出的 ip(s)/domain(s),则绕过 oauth,如果不是,则继续 oauth。

这种方法可行吗?这是一个好习惯吗?优点和缺点?

谢谢!

最佳答案

解决方案很简单:我们在 OAuth 2.0 服务器中为服务器到服务器应用程序实现了客户端授权授予,为移动应用程序(没有后端)实现了资源所有者凭据授权授予。

关于java - Jax RS REST API - OAuth 2.0 和控制来源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14957129/

60 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com