我一直在尝试在 keycloak 21.1 中实现这个自定义端点: EndopintFactory.java 文件 包org.keycloak.extension.authenticator; 导入 org.keycloak.Config; 导入 org.keycloak.models.
如何在 kubernetes 上为 keycloak 配置自定义主题
我想在 kubernetes 上的 keycloak 中为登录、注册和忘记密码页面配置自定义主题。 我在 kubernetes 上使用以下 url 和 keycloak 配置。 https://www.ke...
我在这里添加了我的 docker compose 文件以供参考 钥匙斗篷: 图片:quay.io/keycloak/keycloak:20.0.0 容器名称:钥匙斗篷 命令: [ “启动开发”, ...
Keycloak 20.x docker 映像无法启动(docker-compose)
我正在使用 docker swarm 并设置 keycloak 20 的新副本,但遇到了一些问题。 我一直在使用旧版本的 Keycloak,但似乎启动配置等已更改,
Keycloak infinispan 缓存配置在启动时更改,无需重建
我们正在 Kubernetes 上运行 Keycloak 21.1.2,使用 DNS_PING 和无头服务来发现集群中的节点。在构建 Keycloak 映像时,我们将缓存配置文件位置设置为...
Keycloak-js updateToken(minValidity) 需要澄清
我在Keycloak-js中阅读了很多该方法的示例,但没有对以下方法有明确的解释。 updateToken(minValidity: number): KeycloakPromise; 注:我是
升级到 Keycloak 22.0.0 时出错,但 21.1.2 工作正常
我尝试使用 Quay.io 映像从版本 20.0.0 升级到 Keycloak 22.0.0,但出现以下错误: 线程“main”中的异常 java.lang.reflect.InitationTargetException...
Spring Boot Keycloak docker-compose
当 Docker 容器中的 Spring Boot 应用程序尝试访问 Keycloak Docker 容器时,我遇到问题。我使用 docker-compose 创建了它们。以下是文件: 版本:“3.8”
我正在尝试设置一个有角度的钥匙锁。 如果在 keycloak 管理面板中我不选择设置“访问设置”,则一切正常 ” --> “根 URL”和“主页 URL”...
我正在尝试遵循 Microsoft 的操作方法(以 C# 方式): https://learn.microsoft.com/en-us/azure/ai-services/openai/use-your-data-quickstart?tabs=command-line%2Cpython&pivots=programming-lan...
我正在使用客户端创建一个新的 keycloak 用户。像这样的东西: keycloak.realm(领域) .users() 。创建用户); user 变量是一个 UserRepresentation 对象,我很...
我正在关注 GitHub 上的官方 Azure communications-services-python-quickstarts 存储库,该存储库指示用户使用 Webhook 注册 EventGrid 订阅资源来处理
我面临一个问题,MySQL 在一定的超时时间后关闭连接,而 Keycloak 随后遇到错误,因为它试图重用这些关闭的连接。 我该如何设置
我正在尝试使用 Operator 将 Keycloak 部署到 kubernetes 集群上。 我需要该应用程序存在于“/auth”而不是“/”上。 我正在使用 ingress-nginx 入口控制器并创建入口...
我正在尝试使用 keycloak REST API 删除用户会话, 但获取 403 禁止 Http 状态代码。 我正在将令牌和 cookie 传递到标头中,如果我遗漏了某些内容,请告诉我...
第一次在这里提问,开门见山:我正在使用 Spring 开发一个连接到 Keycloak 实例的 API,出于安全原因,我需要每个端点接受访问令牌...
我正在按照以下文档使用 Microsoft Entra ID (Azure AD) 对 Microsoft Translator 服务进行身份验证 https://learn.microsoft.com/en-us/azure/ai-services/translator/referenc...
是否可以向仅支持Oauth2而不支持OIDC的Keycloak(v24.x)添加身份提供者? 我知道 oauth2 是一种授权而不是身份验证标准,但显然它们不是。 它增加了你...
React Keyckloak 在客户端身份验证切换为 ON 后获取 Token 时始终出现 401 响应
我正在使用 React 并尝试使用 ReactKeycloakWeb 和 Keycloak JS 将 Keycloak 与其集成。我添加了以下配置,通常工作正常: 常量 keycloakConfig = { 领域:“
Windows 平台不支持 System.Directory Services
我对软件开发和这个网站都很陌生。 我的问题是关于 Windows 上的 System.DirectoryServices 开发。 我启动了一个普通的 Visual Studio 2019 c# .net 5.0 项目,并且
Delphi 和 Azure 认知服务示例:始终 401 访问被拒绝
我正在使用 CE 10.4 和 Stephen Ball 的这个示例: https://github.com/DelphiABall/Azure-Cognitive-Services 从这个例子中,我尝试了“语音服务”并且总是得到 401: 进入书房...
我已经使用 vite 创建了 React 应用程序,并且已将该应用程序与 keycloak 连接,但我收到了 CORS 错误
我已经使用 vite 创建了 React 应用程序并将其与 keycloak 连接,但我收到以下错误 - localhost/:1 访问位于 'http://127.0.0.1:8080/realms/myrealm/protocol/... 的 XMLHttpRequest
如何在没有管理员帐户的情况下通过 REST 获取 Keycloak 用户
有没有一种方法可以通过 REST 获取 Keycloak 领域上的用户列表,而无需使用管理员帐户?也许可以从管理控制台分配某种角色?寻找任何想法。 现在我是你...
执行存储在不同分支中的 Yaml 管道作为 PR 构建验证 - Azure Devops Services
当尝试在拉取请求上使用构建验证时,我添加了一个存储在不同分支上的管道(手动测试和工作)。 然后拉请求开始,我看不到任何
SSAS:尽管角色已更新,但数据库中的第二个多维数据集未向用户显示
SQL Server Analysis Services 多维版本 2022 我最近向 SSAS 数据库添加了第二个多维数据集。 我调整了角色以授予用户读取权限。 然而在部署和处理之后...
Keycloack - 通过密码 grantType 获取 accessToken - 需要 client_secret
作为 Keycloak 的新手,我尝试使用“密码”授权类型配置客户端。我知道在大多数情况下这不是首选解决方案。 我与客户端“
登录后,使用 angular-oauth2-oidc 时,hasValidAccessToken 始终为 true
我已经使用 Angular 12.2 实现了 angular-oauth-oidc (版本 12.1.0)。我使用 Keycloak 作为 SSO 登录没有问题,但我在库中遇到了奇怪的行为。 每次,之后...
AWS EKS OIDC 身份验证器在尝试初始化时返回 403
我希望尝试将 Keycloak 与 EKS 作为 OIDC 提供商集成,虽然我过去取得了成功,但目前我正在努力使用新配置,我不太满意...
给出以下设置: 具有领域角色“foo-admin”的用户 名为“foo”的客户端(已启用直接访问授予,公共) 客户端范围“some:scope”(可选客户端
使用 keycloak 提供程序从下一个身份验证注销不起作用
我有一个带有 next-auth 的 nextjs 应用程序来管理身份验证。 这是我的配置 .... 导出默认 NextAuth({ // 配置一个或多个身份验证提供者 提供者:[
当我使用正确的用户和通行证将 Spring 网关的数量水平缩放到 2 个实例后,Keycloak 给出了身份验证错误。怎么解决?
我对这个问题的预感是,由于现在有多个 Spring Gateway 实例,可能会导致会话冲突,您能否使所有实例都...
我尝试从 Google 获取我的 GCM 注册 ID。 我的代码: 字符串SENDER_ID =“722*****53”; /** * 向 GCM 服务器异步注册应用程序。 * * 存储注册信息... 我尝试从 Google 获取我的 GCM 注册 ID。 我的代码: String SENDER_ID = "722******53"; /** * Registers the application with GCM servers asynchronously. * <p> * Stores the registration ID and the app versionCode in the application's * shared preferences. */ private void registerInBackground() { new AsyncTask<Void, Void, String>() { @Override protected String doInBackground(Void... params) { String msg = ""; try { if (gcm == null) { gcm = GoogleCloudMessaging.getInstance(context); } regid = gcm.register(SENDER_ID); msg = "Device registered, registration ID=" + regid; // You should send the registration ID to your server over // HTTP, so it // can use GCM/HTTP or CCS to send messages to your app. sendRegistrationIdToBackend(); // For this demo: we don't need to send it because the // device will send // upstream messages to a server that echo back the message // using the // 'from' address in the message. // Persist the regID - no need to register again. storeRegistrationId(context, regid); } catch (IOException ex) { msg = "Error :" + ex.getMessage(); // If there is an error, don't just keep trying to register. // Require the user to click a button again, or perform // exponential back-off. } return msg; } @Override protected void onPostExecute(String msg) { mDisplay.append(msg + "\n"); } }.execute(null, null, null); } 我收到错误: 03-01 19:15:36.261: E/AndroidRuntime(3467): FATAL EXCEPTION: AsyncTask #1 03-01 19:15:36.261: E/AndroidRuntime(3467): java.lang.RuntimeException: An error occured while executing doInBackground() 03-01 19:15:36.261: E/AndroidRuntime(3467): at android.os.AsyncTask$3.done(AsyncTask.java:299) 03-01 19:15:36.261: E/AndroidRuntime(3467): at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352) 03-01 19:15:36.261: E/AndroidRuntime(3467): at java.util.concurrent.FutureTask.setException(FutureTask.java:219) 03-01 19:15:36.261: E/AndroidRuntime(3467): at java.util.concurrent.FutureTask.run(FutureTask.java:239) 03-01 19:15:36.261: E/AndroidRuntime(3467): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 03-01 19:15:36.261: E/AndroidRuntime(3467): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) 03-01 19:15:36.261: E/AndroidRuntime(3467): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) 03-01 19:15:36.261: E/AndroidRuntime(3467): at java.lang.Thread.run(Thread.java:841) 03-01 19:15:36.261: E/AndroidRuntime(3467): Caused by: java.lang.SecurityException: Not allowed to start service Intent { act=com.google.android.c2dm.intent.REGISTER pkg=com.google.android.gms (has extras) } without permission com.google.android.c2dm.permission.RECEIVE 03-01 19:15:36.261: E/AndroidRuntime(3467): at android.app.ContextImpl.startServiceAsUser(ContextImpl.java:1800) 03-01 19:15:36.261: E/AndroidRuntime(3467): at android.app.ContextImpl.startService(ContextImpl.java:1772) 03-01 19:15:36.261: E/AndroidRuntime(3467): at android.content.ContextWrapper.startService(ContextWrapper.java:480) 03-01 19:15:36.261: E/AndroidRuntime(3467): at com.google.android.gms.gcm.GoogleCloudMessaging.b(Unknown Source) 03-01 19:15:36.261: E/AndroidRuntime(3467): at com.google.android.gms.gcm.GoogleCloudMessaging.register(Unknown Source) 03-01 19:15:36.261: E/AndroidRuntime(3467): at com.example.gcm.DemoActivity$1.doInBackground(DemoActivity.java:177) 03-01 19:15:36.261: E/AndroidRuntime(3467): at com.example.gcm.DemoActivity$1.doInBackground(DemoActivity.java:1) 03-01 19:15:36.261: E/AndroidRuntime(3467): at android.os.AsyncTask$2.call(AsyncTask.java:287) 03-01 19:15:36.261: E/AndroidRuntime(3467): at java.util.concurrent.FutureTask.run(FutureTask.java:234) 03-01 19:15:36.261: E/AndroidRuntime(3467): ... 4 more 这是我的清单: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.manyexampleapp" android:installLocation="preferExternal" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="11" android:targetSdkVersion="18" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="com.example.manyexampleapp.c2dm.permission.RECEIVE" /> <uses-permission android:name="com.example.manyexampleapp.gcm.permission.C2D_MESSAGE" /> <permission android:name="com.example.manyexampleapp.gcm.permission.C2D_MESSAGE" android:protectionLevel="signature" /> <application android:name="com.zoomer.ifs.BaseApplication" android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <activity android:name="com.zoomer.ifs.MainActivity" android:label="@string/app_name" android:configChanges="orientation|keyboardHidden|screenSize" android:launchMode="singleTop"> <!-- <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> --> </activity> <!-- PUSH --> <!-- WakefulBroadcastReceiver that will receive intents from GCM services and hand them to the custom IntentService. The com.google.android.c2dm.permission.SEND permission is necessary so only GCM services can send data messages for the app. --> <receiver android:name="com.example.gcm.GcmBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND" > <intent-filter> <!-- Receives the actual messages. --> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> <category android:name="com.example.manyexampleapp" /> </intent-filter> </receiver> <service android:name="com.example.gcm.GcmIntentService" /> <activity android:name="com.example.gcm.DemoActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <!-- DB --> <activity android:name="com.example.db.DbActivity" android:label="@string/app_name" > <intent-filter> </intent-filter> </activity> <activity android:name="com.example.http.RestGetActivity" android:label="@string/app_name" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" > </activity> <activity android:name="com.example.fb.FacebookLoginActivity" android:label="@string/app_name" > <!-- <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> --> </activity> <activity android:name="com.example.http.SendFeedbackActivity" android:label="@string/app_name" > <!-- <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> --> </activity> <activity android:name="com.zoomer.general.SearchNearbyOffersActivity" android:label="@string/app_name" > <intent-filter> </intent-filter> </activity> <activity android:name="com.facebook.LoginActivity" android:label="@string/app_name" > <intent-filter> </intent-filter> </activity> <activity android:name="com.example.manyexampleapp.StoresListActivity" > <intent-filter> </intent-filter> </activity> <activity android:name="com.example.fb.ShareActivity" > <intent-filter> </intent-filter> </activity> <activity android:name="com.example.notifications.NotificationsActivity" > <intent-filter> </intent-filter> </activity> <activity android:name="com.example.fb2.no_use.MainActivity" > <intent-filter> </intent-filter> </activity> <activity android:name="com.zoomer.offers.OffersListActivity" > <!-- <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> --> </activity> <activity android:name="com.example.http.SearchNearbyOffersActivity" > <!-- <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> --> </activity> <service android:name="com.example.geo.LocationService" android:enabled="true" /> <receiver android:name="com.example.manyexampleapp.BootReceiver" > <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <action android:name="com.example.manyexampleapp.LocationService.LOCATION_BROAD_MSG" /> </intent-filter> </receiver> <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/app_id" /> </application> </manifest> 改变 <uses-permission android:name="com.example.manyexampleapp.c2dm.permission.RECEIVE" /> 到 <!-- This app has permission to register and receive data message. --> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 您收到异常是因为您尚未定义所需的权限 如果应用程序开发后安装了播放服务, 可能会发生 com.google.android.c2dm.permission.RECEIVE 权限已被授予但 android 仍在抱怨同样的错误。 在这种情况下,您必须完全重新安装开发的应用程序才能使此权限发挥作用。 我认为你必须检查 Kotlin 版本兼容性。