本地部署Supabase集成Keycloak OAuth遇无效流程状态错误
求助:自托管Supabase + Docker Keycloak 登录回调报错"invalid flow state, no valid flow state found"
已通过谷歌搜索及技术论坛查找解决方案,尝试所有可行方法均无效,特此求助。
本地部署环境:Docker版Keycloak + 自托管Supabase,相关配置如下:
Keycloak客户端设置
Valid Redirect URIs: http://localhost:3000/auth/callback; http://localhost:8000/auth/v1/callback Web Origins: http://localhost:3000; http://localhost:8000 Client Authentication: true
Supabase docker-compose.yml配置
GOTRUE_EXTERNAL_KEYCLOAK_ENABLED: "true" GOTRUE_EXTERNAL_KEYCLOAK_CLIENT_ID: "supabase" GOTRUE_EXTERNAL_KEYCLOAK_SECRET: "0L3PRTgpQNx4hnkdamvjQYg8PiZqbS5x" GOTRUE_EXTERNAL_KEYCLOAK_URL: "http://localhost:8080/realms/master" GOTRUE_EXTERNAL_KEYCLOAK_REDIRECT_URI: "http://localhost:3000/auth/callback"
Supabase docker-compose环境变量
ADDITIONAL_REDIRECT_URLS="http://localhost:3000/auth/callback"
问题现象
使用Next.js Supabase模板,已在actions文件中添加signInwithKeycloak函数,在auth/callback/route.ts中实现回调逻辑。点击应用中的‘Sign in with keycloak’按钮后,成功跳转至Keycloak登录页,登录完成后返回应用登录页并提示**‘invalid flow state, no valid flow state found’**错误。检查Cookie可见sb-localhost-auth-token-code-verifier。
网络请求详情
请求1:Supabase授权请求
Request URL: http://localhost:8000/auth/v1/authorize?provider=keycloak&redirect_to=http%3A%2F%2Flocalhost%3A3000%2Fauth%2Fcallback&scopes=openid&code_challenge=Ayzoh0qqlZK9q_BPQRZ4-ao28xkH4C7tvtpuOI3ptFU&code_challenge_method=s256 Payload provider: keycloak redirect_to: http://localhost:3000/auth/callback scopes: openid code_challenge: Ayzoh0qqlZK9q_BPQRZ4-ao28xkH4C7tvtpuOI3ptFU code_challenge_method: s256
请求2:Keycloak认证请求
http://localhost:8080/realms/master/protocol/openid-connect/auth?client_id=supabase&redirect_to=http%3A%2F%2Flocalhost%3A3000%2Fauth%2Fcallback&redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Fauth%2Fcallback&response_type=code&scope=profile+email+openid&state=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MjgxMDQxODcsInNpdGVfdXJsIjoiaHR0cDovL2xvY2FsaG9zdDozMDAwIiwiaWQiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJmdW5jdGlvbl9ob29rcyI6bnVsbCwicHJvdmlkZXIiOiJrZXljbG9hayIsInJlZmVycmVyIjoiaHR0cDovL2xvY2FsaG9zdDozMDAwL2F1dGgvY2FsbGJhY2siLCJmbG93X3N0YXRlX2lkIjoiMzgyZDFhYTEtMzNmMi00NWM3LWI5NGItMzk3YTg5YTBlMjgxIn0.wy5N_hLNJqvh_YNBDrFeuea92KeOdL_ir0eHWwqYz9I Payload client_id: supabase redirect_to: http://localhost:3000/auth/callback redirect_uri: http://localhost:3000/auth/callback response_type: code scope: profile email openid state: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MjgxMDQxODcsInNpdGVfdXJsIjoiaHR0cDovL2xvY2FsaG9zdDozMDAwIiwiaWQiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJmdW5jdGlvbl9ob29rcyI6bnVsbCwicHJvdmlkZXIiOiJrZXljbG9hayIsInJlZmVycmVyIjoiaHR0cDovL2xvY2FsaG9zdDozMDAwL2F1dGgvY2FsbGJhY2siLCJmbG93X3N0YXRlX2lkIjoiMzgyZDFhYTEtMzNmMi00NWM3LWI5NGItMzk3YTg5YTBlMjgxIn0.wy5N_hLNJqvh_YNBDrFeuea92KeOdL_ir0eHWwqYz9I
请求3:应用回调请求
http://localhost:3000/auth/callback?state=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MjgxMDQxODcsInNpdGVfdXJsIjoiaHR0cDovL2xvY2FsaG9zdDozMDAwIiwiaWQiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJmdW5jdGlvbl9ob29rcyI6bnVsbCwicHJvdmlkZXIiOiJrZXljbG9hayIsInJlZmVycmVyIjoiaHR0cDovL2xvY2FsaG9zdDozMDAwL2F1dGgvY2FsbGJhY2siLCJmbG93X3N0YXRlX2lkIjoiMzgyZDFhYTEtMzNmMi00NWM3LWI5NGItMzk3YTg5YTBlMjgxIn0.wy5N_hLNJqvh_YNBDrFeuea92KeOdL_ir0eHWwqYz9I&session_state=181a8fe2-2bf5-4279-8bfd-c8880d89c51c&iss=http%3A%2F%2Flocalhost%3A8080%2Frealms%2Fmaster&code=03399bd7-f454-4e89-bd7d-e04eec6908d4.181a8fe2-2bf5-4279-8bfd-c8880d89c51c.b37b3d25-c578-4ad6-afa8-03f6a6bbae02 Payload state: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MjgxMDQxODcsInNpdGVfdXJsIjoiaHR0cDovL2xvY2FsaG9zdDozMDAwIiwiaWQiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJmdW5jdGlvbl9ob29rcyI6bnVsbCwicHJvdmlkZXIiOiJrZXljbG9hayIsInJlZmVycmVyIjoiaHR0cDovL2xvY2FsaG9zdDozMDAwL2F1dGgvY2FsbGJhY2siLCJmbG93X3N0YXRlX2lkIjoiMzgyZDFhYTEtMzNmMi00NWM3LWI5NGItMzk3YTg5YTBlMjgxIn0.wy5N_hLNJqvh_YNBDrFeuea92KeOdL_ir0eHWwqYz9I session_state: 181a8fe2-2bf5-4279-8bfd-c8880d89c51c iss: http://localhost:8080/realms/master code: 03399bd7-f454-4e89-bd7d-e04eec6908d4.181a8fe2-2bf5-4279-8bfd-c8880d89c51c.b37b3d25-c578-4ad6-afa8-03f6a6bbae02
如需其他信息请告知,已尽可能保留默认配置。
内容的提问来源于stack exchange,提问作者Law
相关产品推荐
相关产品推荐

