我正在尝试用JWT保护我的Quarkus API。提供了JWT(代码段:承载EYJHBGCIOIJSUZI1NIISINR5CCIGOIAISLDUI[...]
)。
@Path("/quiz")
@RequestScoped
public class SomeResource {
@Inject
JsonWebToken jwt;
@POST
@RolesAllowed({"magister"})
@Path("/save")
@Consumes("application/json")
@Produces("*/*")
@Transactional
public Response save(@RequestBody Quiz quiz) { }
@GET
@PermitAll
@Path("/get/all")
@Produces("application/json")
public Response getAll(){ }
两个endpoint(@permitall
和@rolesalloved
)都返回一个HTTP401
(未经授权)。
你知道为什么吗?我以为@permitall
允许每一个请求?即使我的令牌证明我有所需的角色:
json prettyprint-override">"resource_access" : {
"client_interface" : {
"roles" : ["magister"]
},
...
}
编辑:发现MicroProfile规范说
"groups":["magister"]
{
[...]
"resource_access": {
"client_interface": {
"roles": [
"magister"
]
},
"account": {
"roles": [
"manage-account",
"manage-account-links",
"view-profile"
]
}
},
"scope": "profile email",
"email_verified": false,
"groups": [
"magister"
],
"preferred_username": "magister"
}
我也有同样的问题,我通过添加以下代码修复了它:
@OpenAPIDefinition(
info = @Info(
title = "Title API",
version = "1.0.0",
description = "Description API"
),
security = @SecurityRequirement(name = "jwt"),
components = @Components(
securitySchemes = {
@SecurityScheme(
securitySchemeName = "jwt",
description = "Token JWT",
type = SecuritySchemeType.HTTP,
scheme = "bearer",
bearerFormat = "jwt"
)
}
)
)
并将Quarkus更新到1.12.0.final版本
我按照这里的教程尝试开始使用spring OAuth。但是,没有页面返回未经授权的401,即使我没有通过服务器验证(本教程中的配置示例应该禁用匿名访问。本教程中与此问题相关的唯一注释只有一个响应,即授权尚未启用,但我在其中一个配置类上有。 所有配置类 应用: “安全”: 可能不相关,但也有: 在通读了教程的完整源代码后,我添加了 最后,这个项目的,因为我在使用Spring时经常遇到特定版本依赖关系
所以,我试图用Tweepy喜欢一个推文,但是这个错误正在发生: 有什么想法吗?
我创建了一个web app Maven项目,该项目使用RestEasy作为RESTful应用程序框架。 我的文件如下所示: 我已经将自动扫描设置为true,并创建了几个类来满足endpoint访问的需要。 但问题是,我的浏览器抛出“404 not found”,尽管我已经在类中指定了endpoint参数。 示例endpointURL:http://localhost:8080/me.randyta
问题内容: 我从Nexus存储库中检出了代码。我更改了帐户密码,并在文件中正确设置了密码。在执行时,我收到错误消息,说明它尝试从该存储库下载文件。 任何想法如何解决此错误?我在Maven 3.04中使用Windows 7 问题答案: 这里的问题是所使用的密码出现错字错误,由于密码中使用了字符/字母,因此很难识别。
我有一个Quarkus项目,它公开了一些RESTendpoint。当在开发模式下工作或从本地构建docker容器中运行时,所有工作都很好,那些用@rolesalloved和@permitall注释的endpoint都正常工作。但是当我按照以下步骤部署到AWS服务时: 提交到Gitlab 运行Gitlab cicd 将结果与配置一起发送到AWS S3 bucket 触发AWS CodePipelin
我正在使用postman,并尝试通过http://localhost:8180/auth/admin/realms/demo/users/{userID}更新用户的配置文件,但收到响应。 通过http://localhost:8180/auth/admin/realms/demo/users/{userID}发送带有Json内容类型和用户信息的Put请求。 不幸的是,我已经连续收到了401个回复。