java - Authenticator 和 PeerAuthenticator 不工作 Appengine 端点
问题描述
升级到 V2 端点后,我使用 @peerAuthenticator 的 API 无法验证对等方。我使用@Authenticator 进行了测试并且遇到了同样的问题,忽略了执行。
我在 GitHub 上创建了一个存储库以使用空应用程序进行测试。
该存储库是通过google 文档的步骤创建的。
运行应用程序后,
mvn appengine:run
您可以请求 3 个端点:- http://localhost:8080/_ah/api/myapi/v1/firstApiMethod(没有任何身份验证)
- http://localhost:8080/_ah/api/myapi/v1/b(带
@authenticator
) - http://localhost:8080/_ah/api/myapi/v1/c(带
@peerAuthenticator
)
API
@Api(name = "myapi", version = "v1") public class YourFirstAPI { @ApiMethod(name = "firstApiMethod", path = "firstApiMethod", httpMethod = HttpMethod.GET) public TestObject a() { return new TestObject(); } @ApiMethod(name = "b", path = "b", httpMethod = HttpMethod.GET, authenticators = {Authenticator.class}) public TestObject b() { return new TestObject(); } @ApiMethod(name = "c", path = "c", httpMethod = HttpMethod.GET, peerAuthenticators = PeerAuthenticator.class) public TestObject c() { return new TestObject(); } }
身份验证器
public class Authenticator implements com.google.api.server.spi.config.Authenticator { @Override public User authenticate(HttpServletRequest arg0) throws ServiceException { throw new ServiceException(401, "unauthorized"); } }
对等身份验证器
public class PeerAuthenticator implements com.google.api.server.spi.config.PeerAuthenticator{ @Override public boolean authenticate(HttpServletRequest arg0) { // TODO Auto-generated method stub return true; } }
有没有人有同样的问题?有什么解决方案吗?
解决方案
您没有在您的@Api
或@ApiMethod
注释中设置您的验证器或对等验证器。请参阅Javadoc。
推荐阅读
- python - 将 django 模型导入 python 文件
- r - 在 ggplot2 轴标签中使用下标和斜体
- reactjs - 在 React 应用旁边访问 Plotly dash 应用
- flutter - Flutter:CocoaPods 找不到 pod“Firebase/Messaging”的兼容版本
- firebase - 如何跨有状态小部件传递数据?
- javascript - Javascript - 等待来自服务器的推送通知以继续我的 JS
- python - 在带星号的字符串中搜索元音
- javascript - SyntaxError 怎么办?
- localhost - 查找 LocalHost 文件
- tableau-api - Tableau 从连接中检索数据时禁用 LIMIT 和别名