看起来有一个请求(下面的链接),但问题仍处于打开状态:
https://github.com/helm/helm/issues/2205
我想知道是否有任何解决方法,以便我可以从图表博物馆中提取图表并通过命令行覆盖一个或多个版本以指向不同的版本?
我需要创建一个 java 代理,当启用它时,它将获取 jar 文件的路径作为参数,然后如果它们的名称匹配,它将替换 jar 文件中的任何加载类。
例如,我们有一个名为 com.something.ClassTest 的类的应用程序。现在,如果提到的 jar(不在类路径中)有一个与 com.something.ClassTest 同名的类,我想用 jar 中的那个来替换它。
我有这个类转换器,但不确定这是否正确。我收到消息 Class not found 的 IOException。
@Override
public byte[] transform(ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws IllegalClassFormatException {
if(classNames.contains(className.replace("/", "."))) {
System.out.format("\n==> Found %s \n", className);
try {
Class c = urlClassLoader.loadClass(className.replace("/", "."));
InputStream is = urlClassLoader.getResourceAsStream(className.replace("/", "."));
System.out.println("Loaded class " + c);
ClassReader reader = new ClassReader(is);
ClassWriter writer = new ClassWriter(reader, ClassWriter.COMPUTE_FRAMES | ClassWriter.COMPUTE_MAXS);
byte[] content = writer.toByteArray();
System.out.println("Redifned …Run Code Online (Sandbox Code Playgroud) 我们需要实现此端点,因为我们有许多需要验证令牌的微服务。
根据此链接,我们可以使用它返回一些用户详细信息以及验证令牌。
我浏览了Spring文档,但找不到任何东西。我们如何实现这一点,以便任何请求都自动调用自省端点。我在这里问这个问题是因为我想听听人们的经验和建议。
我正在尝试在我们的项目中实现语义版本控制。我测试了 Maven semver 插件,但这对我没有帮助,所以请不要问我为什么。我最终使用了 Maven Groovy。它的工作原理就像一个魅力,但是,当我安装或部署 Maven 项目时,存储库中的版本是变量名称。
尽管所有工件和 jar 文件都以正确的版本打包,但情况仍然如此。
所以请看看我的pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mytest.test</groupId>
<artifactId>test-tag</artifactId>
<version>${revision}</version>
<description>Test</description>
<properties>
<ChangeType>TO_BE_SET</ChangeType>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<providerSelection>2.0</providerSelection>
<properties>
<script>git describe --abbrev=0 --tags</script>
</properties>
<source>
def tagIt = 'git tag -a vXXXX -m "Auto tagged"'
def changeType = project.properties.ChangeType
def command = project.properties.script
def process = command.execute()
process.waitFor()
def describe = process.in.text.trim()
println "Setting revision to: …Run Code Online (Sandbox Code Playgroud) 在swagger.json中,我们将 basePath 设置为/api,但是,当应用程序部署在 docker 容器中时,上下文路径不是 /api 。这可能是不同的事情,我们不知道它是什么,所以我们不能对其进行硬编码。
我正在尝试按照以下指南设置requestInterceptor,以便捕获请求并修改 url 路径:
https://swagger.io/docs/swagger-tools/#customization-36
但requestInterceptor似乎被忽略了。这可能吗?如果没有,如何在运行时设置正确的路径?
这是我在index.html中的代码
window.onload = function() {
// Build a system
const ui = SwaggerUIBundle({
url: "../api-docs/swagger.json",
dom_id: '#swagger-ui',
deepLinking: true,
requestInterceptor: function(request) {
window.alert(request);
},
presets: [
SwaggerUIBundle.presets.apis,
SwaggerUIStandalonePreset
],
plugins: [
SwaggerUIBundle.plugins.DownloadUrl
],
layout: "StandaloneLayout"
})
window.ui = ui
}
Run Code Online (Sandbox Code Playgroud)
我们使用的是Swagger 2.0
例如,我想admin使用admin-cli客户端创建一个新客户端。
令牌生成工作正常:
POST /auth/realms/master/protocol/openid-connect/token
b'username=admin&password=admin&grant_type=password&client_id=admin-cli'
Run Code Online (Sandbox Code Playgroud)
使用该令牌我还可以执行一些查询,例如当我需要获取客户端的 ID 时:
GET /auth/admin/realms/master/clients?clientId=my-test-cli
H' Authorization: Bearer xyz
H' Content-Type: application/json
Run Code Online (Sandbox Code Playgroud)
但是,当我想创建新的客户端角色或新客户端时,我总是会收到400错误。我将 Keycloak 服务器中的日志级别更改为DEBUG,但除了看到表明令牌已成功创建的日志之外,没有任何用处。
POST /auth/admin/realms/master/clients/7534ac42-fe8b-4cde-b6c6-c385f4958e3b/roles
400 {"error":"unknown_error"}
Run Code Online (Sandbox Code Playgroud)
我正在使用与 JBoss Wildfly 容器一起运行的 Python v3.x 和 Keycloak v14.0.0。
看看admin用户,它似乎拥有所有角色,如admin、default-roles-master,create-realm并且我在列表中没有看到任何要分配的角色,因为它似乎拥有一切。对于客户来说也是如此admin-cli。这两个配置(admin user 和 admin-cli)是您第一次启动服务器时的默认配置。我是否需要任何额外的东西,例如创建新角色或其他东西才能使其正常工作?
我创建机密客户端的有效负载:
payload = {
"name": "Some Name",
"clientId": "some-name",
"secret": "some-name-secret",
"enabled": true,
"publicClient": false,
"authorizationServicesEnabled": true,
"redirectUris" : ["/*"]
}
Run Code Online (Sandbox Code Playgroud) access-token ×2
java ×2
oauth-2.0 ×2
bytecode ×1
groovy ×1
keycloak ×1
maven-3 ×1
spring ×1
spring-boot ×1
swagger ×1
swagger-2.0 ×1
swagger-ui ×1