小编Adn*_*ala的帖子

尝试解码 Jwt 时发生错误:签名 JWT 被拒绝:需要另一种算法,或找不到匹配的密钥

我正在尝试使用与 Spring Security 集成的 ForgeRock OpenAM 设置 OAuth2-OpenID Connect,但收到以下错误

2019-06-17 15:01:42.576 DEBUG 62255 --- [nio-8090-exec-2] .o.s.r.w.BearerTokenAuthenticationFilter : 
Authentication request for failed: org.springframework.security.oauth2.core.OAuth2AuthenticationException: 
An error occurred while attempting to decode the Jwt: 
Signed JWT rejected: Another algorithm expected, or no matching key(s) found
Run Code Online (Sandbox Code Playgroud)

Jwk .wellknown uri 返回以下支持的算法:

"id_token_signing_alg_values_supported": [
    "PS384",
    "ES384",
    "RS384",
    "HS256",
    "HS512",
    "ES256",
    "RS256",
    "HS384",
    "ES512",
    "PS256",
    "PS512",
    "RS512"
  ]
Run Code Online (Sandbox Code Playgroud)

解码后的 JWT 显示以下标头:

{
  "typ": "JWT",
  "zip": "NONE",
  "alg": "HS256"
}
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以根据来自标头的值设置特定的 JwtDecoder 或强制 AM 使用一种特定算法?

spring-security openam spring-oauth2 forgerock

13
推荐指数
2
解决办法
6万
查看次数

在Angular 2+中对FormArray对象进行排序的理想方法是什么?

我有一个由多个表单组组成的formArray。我需要根据数组中每个表单组中存在的布尔值字段对数组进行动态排序。

布尔值字段是一个复选框,在任何给定时间点只能选中一个复选框(模拟单选按钮)。因此,当单击一个复选框时,我需要根据所选的那个对formArray进行排序。

我知道文档建议不要弄乱formArray中存在的AbstractControls [],那么对数组进行动态排序的理想方法是什么?

我试图对数组进行切片,然后将控件设置回formArray中,但是我不断收到错误消息“ 必须为名称为'primaryIndi​​cator'的表单控件提供一个值。

const abstractControls = this.formArray.controls
          .slice()
          .sort((a, b) => {
            return (a as FormGroup).get('primaryIndicator').value ? -1 : (b as FormGroup).get('primaryIndicator').value ? 1 : 0;
          });
        this.formArray.setValue(abstractControls);
Run Code Online (Sandbox Code Playgroud)

如果这不是正确的方法,那么解决这种情况的最佳方法是什么?

angular2-forms angular angular4-forms angular-forms

6
推荐指数
1
解决办法
3764
查看次数

Spring Boot 数据 jpa 中的内连接

我正在使用 spring boot data jpa 1.4,我对它很陌生。我的表定义在这里。它相当简单,有 2 个表(组和用户)。

  1. 所述表包含GROUP_ID(主键),组名,group_active(值= Y / N)。理想情况下,组表只能有一行,其中 group_active 为“Y”,其余的应为“N”

  2. 用户表中包含的user_id(主键),USER_NAME,GROUP_ID(从组外键)。

以下是我的实体类

团体:

@Entity
@Table(schema = "HR",  name = "GROUPS")
public class Group {

    @Id
    @GeneratedValue(strategy = IDENTITY)
    @Column(name = "GROUP_ID")
    private Long id;

    @Column(name = "GROUP_NAME")
    private String name;

    @Column(name = "GROUP_ACTIVE")
    private String active;
Run Code Online (Sandbox Code Playgroud)

用户:

@Entity
@Table(schema = "HR", name = "USERS")
public class User {

    @Id
    @GeneratedValue(strategy = IDENTITY)
    @Column(name = "USER_ID")
    private Long id;

    @Column(name = …
Run Code Online (Sandbox Code Playgroud)

spring-data-jpa spring-boot

5
推荐指数
1
解决办法
1万
查看次数

Spring云网关无法从尤里卡服务器解析服务ID

按照spring 指南构建 eureka 服务器、spring 云网关和示例休息服务。

但是,网关无法使用 eureka 服务器中的服务名称检索 url。网关和服务的注册似乎没问题。当提供实际端点而不是服务 id 时,它工作正常。我无法理解为什么网关没有从尤里卡解析服务 ID。我是否缺少任何配置?

错误信息:

2018-09-05 23:20:17.751  INFO 47037 --- [ctor-http-nio-2] c.netflix.loadbalancer.BaseLoadBalancer  : Client: localhost instantiated a LoadBalancer: DynamicServerListLoadBalancer:{NFLoadBalancer:name=localhost,current list of Servers=[],Load balancer stats=Zone stats: {},Server stats: []}ServerList:null
2018-09-05 23:20:17.756  INFO 47037 --- [ctor-http-nio-2] c.n.l.DynamicServerListLoadBalancer      : Using serverListUpdater PollingServerListUpdater
2018-09-05 23:20:17.760  INFO 47037 --- [ctor-http-nio-2] c.n.l.DynamicServerListLoadBalancer      : DynamicServerListLoadBalancer for client localhost initialized: DynamicServerListLoadBalancer:{NFLoadBalancer:name=localhost,current list of Servers=[],Load balancer stats=Zone stats: {},Server stats: []}ServerList:org.springframework.cloud.netflix.ribbon.eureka.DomainExtractingServerList@107dc063
2018-09-05 23:20:17.822 ERROR 47037 --- [ctor-http-nio-2] .a.w.r.e.DefaultErrorWebExceptionHandler : …
Run Code Online (Sandbox Code Playgroud)

spring-boot spring-cloud netflix-eureka spring-cloud-gateway

5
推荐指数
1
解决办法
3454
查看次数