首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Keycloak抱怨令牌端点上的redirect_uri无效

Keycloak是一个开源的身份和访问管理解决方案,用于保护应用程序和API的安全性。它提供了单点登录(SSO)、身份验证和授权功能。

在Keycloak中,令牌端点(token endpoint)用于获取访问令牌和刷新令牌。当Keycloak抱怨令牌端点上的redirect_uri无效时,意味着在进行身份验证时,重定向URI(redirect_uri)参数提供的值无效。

重定向URI是在进行身份验证后,将用户重定向回应用程序的URI。它用于接收包含访问令牌或授权码的回调请求。当Keycloak抱怨重定向URI无效时,可能是由于以下原因:

  1. 未正确配置重定向URI:在Keycloak的客户端配置中,需要指定允许的重定向URI。确保配置了正确的重定向URI,并且与应用程序中使用的URI一致。
  2. 重定向URI不在允许的URI列表中:Keycloak允许在客户端配置中定义允许的重定向URI列表。确保重定向URI在该列表中,否则Keycloak将拒绝请求。
  3. 重定向URI包含非法字符:重定向URI应该是一个有效的URL,并且不包含任何非法字符。确保重定向URI格式正确,并且不包含特殊字符或空格。

解决此问题的方法包括:

  1. 检查Keycloak客户端配置,确保重定向URI正确配置,并在允许的URI列表中。
  2. 确保重定向URI的格式正确,并且不包含非法字符。
  3. 如果问题仍然存在,可以尝试使用Keycloak的调试模式,查看详细的错误信息和日志,以便更好地定位和解决问题。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云身份管理(CAM):腾讯云的身份和访问管理解决方案,提供了类似Keycloak的功能。
  • 腾讯云API网关:用于保护和管理API的服务,可与腾讯云身份管理(CAM)集成,提供安全的身份验证和授权功能。

请注意,以上提到的腾讯云产品仅作为示例,其他云计算品牌商也提供类似的解决方案。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

从协议入手,剖析OAuth2.0(译 RFC 6749)

刷新令牌由授权服务器颁发给客户端,如果当前访问令牌无效或者过期时,获取一个新访问令牌;或者强制再请求一个访问令牌(可能相同或更窄范围访问令牌)。...否则,它将创建另一个受保护资源请求。 (F) 由于访问令牌无效,资源服务器返回一个无效令牌错误。 (G) 客户端请求一个新访问令牌,并提交刷新令牌。...客户端凭据以及向客户机发出任何访问令牌都存储在Web服务器,不会被资源所有者暴露或访问。              ...3.1.2.2 无效端点(Invalid Endpoint)               如果由于授权请求参数缺失,无效,或者不能匹配无效URI,授权服务器应该告知一个错误给资源所有者。      ...因为访问令牌被编码到重定向URI中,所以它可能暴露在资源所有者和驻留在同一设备其他应用程序中。

4.9K20
  • 隐藏OAuth攻击向量

    jwks_uri—客户端JSON Web密钥集[JWK]文档URL,当使用JWTs进行客户端身份验证时,服务器需要此密钥集来验证向令牌端点发出已签名请求[RFC7523],为了测试此参数中SSRF...,在特定服务器并不总是受支持,因此确定服务器支持哪些参数总是值得~ 如果以OpenID服务器为目标".well-known/Openid-configuration"处发现端点有时可能会包含诸如...在几乎所有OAuth图表,此进程显示为一个步骤,但实际它涉及到三个单独操作,需要由OAuth服务器实现: 验证所有请求参数(包括"client_id"、"redirect_uri") 验证用户身份...端点,它显示有关服务器使用用户和资源信息,例如可以通过以下方式使用它来验证用户"anonymous"在服务器是否有帐户: /.well-known/webfinger?...这个端点棘手部分是响应状态代码:如果参数无效或找不到用户名,它可能返回404,因此在将其添加到内容发现工具时要小心 [ForgeRock OpenAm] LDAP Injection in Webfinger

    2.8K90

    OAuth2.0 OpenID Connect 二

    在这篇文章中,我们将深入探讨 OIDC 机制,并了解各种流程实际应用。 您从 OIDC 流返回令牌端点内容/userinfo是请求流类型和范围函数。...下面,我们将深入探讨一些可用流程以及何时适合使用它们。 从端点返回一个代码/authorization,可以使用端点交换 ID 和访问令牌/token。...id_token 隐式流程 本质,访问和 ID 令牌是直接从/authorization端点返回端点/token未使用。...这是浏览器中流程: 您将被重定向回redirect_uri最初指定位置(带有返回令牌和 original state) 应用程序现在可以在id_token本地验证。...Hybrid Flow 在此流程中,一些令牌从授权端点 ( ) 返回/authorize,其他令牌令牌端点 ( ) 返回/token。

    34940

    从0开始构建一个Oauth2Server服务 授权响应

    OAuth 2.0 规范建议最长生命周期为 10 分钟,但实际,大多数服务将到期时间设置得更短,大约 30-60 秒。授权代码本身可以是任意长度,但应该记录代码长度。...但是,由于此授权代码仅供授权服务器使用,因此通常可以更简单地将它们实现为存储在授权端点令牌端点可访问服务器端缓存中短字符串。 在任何情况下,需要与授权代码相关联信息如下。...client_id– 请求此代码客户端 ID(或其他客户端标识符) redirect_uri– 使用重定向 URL。...如果redirect_uri和client_id都有效,但仍然存在其他问题,则可以将用户重定向回查询字符串中有错误重定向 URI。...当重定向回应用程序以指示错误时,服务器将以下参数添加到重定向 URL: error 以下列表中单个 ASCII 错误代码: invalid_request– 请求缺少参数、包含无效参数、多次包含参数或无效

    19950

    从0开始构建一个Oauth2Server服务 单页应用

    代码本身是从授权服务器获得,用户可以在授权服务器看到客户端请求信息,并批准或拒绝该请求。 Web 流程第一步是向用户请求授权。这是通过创建授权请求链接供用户单击来实现。...redirect_uri(可选) redirect_uri在规范中是可选,但某些服务需要它。这是您希望在授权完成后将用户重定向到 URL。这必须与您之前在服务中注册重定向 URL 相匹配。...交换访问令牌授权代码 为了交换访问令牌授权代码,应用程序向服务令牌端点发出 POST 请求。该请求将具有以下参数。...redirect_uri(可选) 如果重定向 URL 包含在初始授权请求中,则它也必须包含在令牌请求中,并且必须相同。有些服务支持注册多个重定向 URL,有些服务需要在每个请求中指定重定向 URL。...实际,只有非常有限情况需要这样做。几个主要实现(Keycloak、Deutsche Telekom、Smart Health IT)选择完全避免隐式流程,而是使用授权代码流程。

    21330

    在 Kubernetes 中使用 Keycloak OIDC Provider 对用户进行身份验证

    1 OpenID Connect(OIDC)介绍 OAuth(Open Authorization)是一个关于授权(authorization)开放网络标准,允许用户授权第三方应用访问他们存储在其他服务提供者信息...OAuth2 提供了 access_token 来解决授权第三方客户端访问受保护资源问题,OpenID Connect 在这个基础提供了 id_token 来解决第三方客户端标识用户身份问题。...6.5 查看端点信息 点击 Realm Settings -> General -> Endpoints 可以看到请求 project-1 这个 Realm 相关端点信息,在后面的章节中将会用到这些信息...Keycloak 和 Kubernetes 设置,接下来我们尝试获取身份验证令牌,需要提供以下参数: grant_type:获取令牌方式。...,idp-issuer-url 参数 URL 使用 6.5 查看端点信息章节中看到 issuer 地址。

    6.5K20

    OAuth 详解 什么是 OAuth?

    要了解有关 JWT 更多信息,请参阅A Beginner's Guide to JWTs in Java。 令牌是从授权服务器端点检索。两个主要端点是授权端点令牌端点。...它们针对不同用例分开。授权端点是您从用户那里获得同意和授权地方。这将返回一个授权授予,表明用户已同意它。然后将授权传递给令牌端点令牌端点处理授权并说“很好,这是您刷新令牌和访问令牌”。 ?...图片 例如,您通过用户代理授权前端通道流可能如下所示: 资源所有者开始流程以委托对受保护资源访问 客户端通过浏览器重定向向授权服务器授权端点发送具有所需范围授权请求 授权服务器返回一个同意对话框说...Front Channel 完成后,会发生 Back Channel Flow,将授权代码交换为访问令牌。 客户端应用程序使用机密客户端凭据和客户端 ID 向授权服务器令牌端点发送访问令牌请求。...不要将客户端机密放入通过 App Store 分发应用程序中! 一般来说,对 OAuth 最大抱怨来自于安全人员。它与 Bearer 令牌有关,它们可以像会话 cookie 一样传递。

    4.5K20

    OAuth2.0认证解析

    invalid_grant 提供访问许可是无效、过期或已撤销(例如,无效断言,过期授权令牌,错误终端用户密码证书,或者不匹配授权码和重定向URI)。...invalid_scope 请求作用域是无效、未知、格式不正确,或超出了之前许可作用域。 error_description 可选参数。...使用场景 通过前端渠道客户获取授权码 通过后端渠道,客户使用authorization code去交换AccessToken和可选RefreshToken 假定资源拥有者和客户在不通设备或域名...应用场景 使用用户名密码登录应用,例如桌面App 使用用户名/密码作为授权方式从授权服务器获取accessToken 一般不支持refreshToken 假定资源拥有者和公开客户在相同设备 4....授权服务器必须为它授权端点实现CSRF保护并且确保在资源所有者未意识到且无显式同意时恶意客户端不能获得授权。

    4.3K10

    开发中需要知道相关知识点:什么是 OAuth?

    要了解有关 JWT 更多信息,请参阅A Beginner's Guide to JWTs in Java。 令牌是从授权服务器端点检索。两个主要端点是授权端点令牌端点。...它们针对不同用例分开。授权端点是您从用户那里获得同意和授权地方。这将返回一个授权授予,表明用户已同意它。然后将授权传递给令牌端点令牌端点处理授权并说“很好,这是您刷新令牌和访问令牌”。...例如,您通过用户代理授权前端通道流可能如下所示: 资源所有者开始流程以委托对受保护资源访问 客户端通过浏览器重定向向授权服务器授权端点发送具有所需范围授权请求 授权服务器返回一个同意对话框说“...Front Channel 完成后,会发生 Back Channel Flow,将授权代码交换为访问令牌。 客户端应用程序使用机密客户端凭据和客户端 ID 向授权服务器令牌端点发送访问令牌请求。...不要将客户端机密放入通过 App Store 分发应用程序中! 一般来说,对 OAuth 最大抱怨来自于安全人员。它与 Bearer 令牌有关,它们可以像会话 cookie 一样传递。

    27640

    Oauth2协议

    客户端请求资源服务器资源 客户端携带令牌访问资源服务器资源。网站携带令牌请求访问微信服务器获取用户基本信息。...Endpoint:授权端点,进行授权 Token Endpoint:令牌端点,经过授权拿到对应Token Introspection Endpoint:校验端点,校验Token合法性 Revocation...grant_type:授权类型,填写authorization_code,表示授权码模式 code:授权码,就是刚刚获取授权码,注意:授权码只使用一次就无效了,需要重新申请。...client_id:客户端标识 redirect_uri:申请授权码时跳转url,一定和申请授权码时用redirect_uri一致。 scope:授权范围。...成功与否,授权码都只能使用一次,使用一次后就无效了,需要重新申请。

    1.3K10

    从0开始构建一个Oauth2Server服务 AccessToken

    令牌端点是应用程序发出请求以获取用户访问令牌地方。本节介绍如何验证令牌请求以及如何返回适当响应和错误。...用户通过重定向 URL 返回到应用程序后,应用程序将从该 URL 中获取授权代码并使用它来请求访问令牌。此请求将发送到令牌端点。 请求参数 访问令牌请求将包含以下参数。...redirect_uri(可能需要) 如果重定向 URI 包含在初始授权请求中,则服务也必须在令牌请求中要求它。令牌请求中重定向 URI 必须与生成授权代码时使用重定向 URI 完全匹配。...OAuth 2.0 Bearer 令牌格式实际在单独规范RFC 6750中进行了描述。...不成功响应 如果访问令牌请求无效,例如重定向 URL 与授权期间使用不匹配,则服务器需要返回错误响应。

    23950

    Keycloak vs MaxKey,开源单点登录框架如何选择?

    Oauth2 本身是一个认证协议,它提供了一个授权流和标准通用协议,其中并没有有关用户身份认证相关内容。OIDC 在此基础实现了用户相关认证,完全兼容 Oauth2.0。...授权码模式基本流程就是客户端向服务端发起请求,带着 state、client_id、client_secret、redirect_uri、scope 参数请求服务端授权接口,服务端打开自己授权页进行授权后...,会回调给 redirect_uri 地址,带有 code 参数,客户端通过 code 向服务端换取 access_token,然后就可以拿 token 去做任何事情了。...就在写这段时候,Keycloak 官网发布了一条消息,迎来 maintainer: Tomas Darimont,主要负责 keycloak.X 开发。...主题也可以自定义,方式是通过编写 base 模板 css 来实现。上图主题是内置keycloak主题。

    5.1K51

    OAuth 详解 什么是 OAuth 2.0 授权码授权类型?

    在高层次,该流程具有以下步骤:应用程序打开浏览器将用户发送到 OAuth 服务器用户看到授权提示并批准应用程序请求使用查询字符串中授权代码将用户重定向回应用程序应用程序交换访问令牌授权代码获得用户许可...client_id 应用程序公共标识符,在开发人员首次注册应用程序时获得。redirect_uri 告诉授权服务器在用户批准请求后将用户发送回何处。...重定向回应用程序如果用户批准请求,授权服务器会将浏览器重定向回redirect_uri应用程序指定浏览器,并在查询字符串中添加codeand 。...应用程序使用以下参数向服务令牌端点发出 POST 请求:grant_type=authorization_code- 这告诉令牌端点应用程序正在使用授权代码授权类型。...令牌端点将验证请求中所有参数,确保代码没有过期并且客户端 ID 和密码匹配。如果一切正常,它将生成一个访问令牌并在响应中返回它!

    2.1K30

    开发中需要知道相关知识点:什么是 OAuth 2.0 授权码授权类型?

    在高层次,该流程具有以下步骤: 应用程序打开浏览器将用户发送到 OAuth 服务器 用户看到授权提示并批准应用程序请求 使用查询字符串中授权代码将用户重定向回应用程序 应用程序交换访问令牌授权代码...client_id 应用程序公共标识符,在开发人员首次注册应用程序时获得。 redirect_uri 告诉授权服务器在用户批准请求后将用户发送回何处。...重定向回应用程序 如果用户批准请求,授权服务器会将浏览器重定向回redirect_uri应用程序指定浏览器,并在查询字符串中添加codeand 。...应用程序使用以下参数向服务令牌端点发出 POST 请求: grant_type=authorization_code- 这告诉令牌端点应用程序正在使用授权代码授权类型。...令牌端点将验证请求中所有参数,确保代码没有过期并且客户端 ID 和密码匹配。如果一切正常,它将生成一个访问令牌并在响应中返回它!

    29070

    从0开始构建一个Oauth2 Server服务 构建服务器端应用程序

    代码本身是从授权服务器获得,用户可以在授权服务器看到客户端请求信息,并批准或拒绝该请求。 授权代码流提供了一些优于其他授权类型好处。...&scope=photos 确切 URL 端点将由您连接到服务指定,但参数名称将始终相同。...redirect_uri(可选)这redirect_uri可能是可选,具体取决于 API,但强烈建议使用。这是您希望在授权完成后将用户重定向到 URL。...交换访问令牌授权代码 为了交换访问令牌授权代码,应用程序向服务令牌端点发出 POST 请求。该请求将具有以下参数。...redirect_uri(可能需要) 如果重定向 URL 包含在初始授权请求中,则它也必须包含在令牌请求中,并且必须相同。

    27030

    OAuth 2.0 威胁模型渗透测试清单

    清单 重定向 URI 验证不足 通过Referer Header凭证泄漏 通过浏览器历史记录泄露 混合攻击 授权码注入 访问令牌注入 跨站请求伪造 资源服务器访问令牌泄漏 资源服务器访问令牌泄漏...凭据加密 使用非对称密码学 对秘密在线攻击 密码政策 秘密高熵 锁定帐户 焦油坑 验证码使用 令牌(访问、刷新、代码) 限制令牌范围 到期时间 到期时间短 限制使用次数.../一次使用 将令牌绑定到特定资源服务器(受众) 使用端点地址作为令牌受众 受众和令牌范围 将令牌绑定到客户端 ID 签名令牌 令牌内容加密 具有高熵随机令牌值 访问令牌 授权服务器...客户端认证和授权 Client_id 仅与强制用户同意结合使用 Client_id 仅与 redirect_uri 结合使用 验证预注册 redirect_uri 客户机密撤销 使用强客户端身份验证...(例如 client_assertion / client_token) 最终用户授权 重复授权自动处理需要客户端验证 最终用户验证客户端属性 授权码绑定到client_id 授权码绑定到redirect_uri

    83630
    领券