小编Har*_*sht的帖子

使用私钥生成 JSON Web 令牌 (JWT)

我正在尝试生成 JWT,但收到此错误:

openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout private.key -out certificate_pub.crt
Run Code Online (Sandbox Code Playgroud)

我正在使用io.jsonwebtoken.Jwts库和字符串形式的私钥,但出现错误。

Map<String, Object> payload = new HashMap<>();
payload.put("iss", orgId);
payload.put("sub", accountId);
payload.put("exp", expirationTime);
payload.put("aud", new 
StringBuilder("Url").append("/c/").append(apiKey).toString());
payload.put(new StringBuilder("Url").append("/s/entt_sdk").toString(), Boolean.TRUE);
return Jwts.builder().setClaims(payload).**signWith**(SignatureAlgorithm.RS256, privateKeyStr).compact();
Run Code Online (Sandbox Code Playgroud)
java.lang.IllegalArgumentException: Base64-encoded key bytes may only be specified for HMAC signatures.  If using RSA or Elliptic Curve, use the signWith(SignatureAlgorithm, Key) method instead.
Run Code Online (Sandbox Code Playgroud)

我的私钥看起来像这样:

-----BEGIN PRIVATE KEY-----
sajdkjsadkjsahdkjsadksadkjsadkjs
-----END PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)

java openssl jwt

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

正则表达式不会从模式中删除下划线

我正在尝试使用java.util.regex.Matcher和java.util.regex.pattern进行编码,以允许字符串中的某些特殊字符,但这并不能消除下划线。我是新来的。我需要帮助。下面的代码摘录:

  // String to be scanned to find the pattern.
  String line = "This order was _:$ placed for QT3000! OK?";
  String pattern = "[^\\w\\s\\-?:().,'+\\/]";
  String s = null;

  // Create a Pattern object
  Pattern r = Pattern.compile(pattern);

  // Now create matcher object.
  Matcher m = r.matcher(line);
  s= m.replaceAll("");
  System.out.println("Output: " + s);
Run Code Online (Sandbox Code Playgroud)

预期:此订单为:放置QT3000可以吗?实际:此订单是_:放置QT3000可以吗?

java regex

3
推荐指数
1
解决办法
64
查看次数

Swagger2:无法内省类 [springfox.documentation.swagger2.configuration.Swagger2DocumentationConfiguration]

我正在尝试在我的项目中使用 swagger2,但出现错误。

“java.lang.IllegalStateException:无法从 ClassLoader [jdk.internal.loader.ClassLoaders$AppClassLoader@16f65612] 内省 Class [springfox.documentation.swagger2.configuration.Swagger2DocumentationConfiguration]”

//Spring Boot version: 2.1.9
//Swagger2: 2.9.2
//java: 11

package path.to.package;

import static springfox.documentation.builders.PathSelectors.regex;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2
public class SwaggerConfig {

  @Bean
  public Docket OrganizationApi() {
    return new Docket(DocumentationType.SWAGGER_2)
        .select()
        .apis(RequestHandlerSelectors.basePackage("path.to.package"))
        .paths(regex("/api/.*"))
        .build();
  }

}


<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger2</artifactId>
  <version>2.9.2</version>
</dependency>

<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger-ui</artifactId>
  <version>2.9.2</version>
</dependency>

Run Code Online (Sandbox Code Playgroud)

完整的堆栈跟踪:

    at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:507)
    at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:404)
    at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:389)
    at org.springframework.util.ReflectionUtils.getUniqueDeclaredMethods(ReflectionUtils.java:447)
    at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705) …
Run Code Online (Sandbox Code Playgroud)

java spring spring-boot swagger-2.0

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

标签 统计

java ×3

jwt ×1

openssl ×1

regex ×1

spring ×1

spring-boot ×1

swagger-2.0 ×1