keycloak/绕过KC登录,直接跳转IdP授权

场景:想要绕过KC登录页面,直接到某个 idp 去授权

之前写过一个KC的自定义SPI,来获取可用的 IDP 列表,也把授权URL返回了,和登录页上的一样,但是这个接口有个问题,它和登录一样有超时时间,你一段时间内不访问,它会失效,

那现在我们有了更好的方法,仍然让KC自己跳转:

获取 idp 列表,我们仍然用上面的方法;

然后按照下面的URL构造idp授权链接,通过访问这个链接,KC会自动重定向到 IDP 的授权页面,不用考虑时效性,而且可以直接获取授权码code,来换取 access_token

/auth/realms/fetest/protocol/openid-connect/auth?response_type=code&kc_idp_hint=github&nonce=nonce&redirect_uri=http://localhost&client_id=60c1ab2ae88824dba74cfe29

核心参数:

response_type:返回类型,固定:code

kc_idp_hint:Idp ID

redirect_uri:授权callback URL,后面用code换token时务必保持该参数一样

这个功能自 6.x 的时候就已经支持

参考:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注