我正在尝试让一个Spring安全授权服务器来为运行mod_open_idc的Apache2背后的安全资源工作。当我访问资源时,它会将我重定向到登录页面,但是登录后,我将被重定向到一个页面,该页面显示处理响应类型时出错。如果我在apache错误日志中看到oidc_proto_validate_code_response: requested flow is "code" but no "id_token" parameter found in the code response
。网址末尾带有/redirect_uri?code=f0I4GB&state=DdA1Udo1lllEeed3V8LppkOtxPg
。这是我的apache配置的相关部分
OIDCProviderIssuer https://URL:9999/uaa/oauth
OIDCProviderAuthorizationEndpoint https://URL:9999/uaa/oauth/authorize
OIDCProviderJwksUri https://URL:9999/uaa/oauth/token_key
OIDCProviderTokenEndpoint https://URL:9999/uaa/oauth/token
OIDCProviderUserInfoEndpoint https://URL:9999/uaa/user
OIDCScope "openid"
OIDCClientID revproxy
OIDCClientSecret revsecret
OIDCSSLValidateServer Off
OIDCCryptoPassphrase MyPassword
OIDCRedirectURI https://URL/home/redirect_uri
<Location "/home">
AuthType openid-connect
Require valid-user
ProxyPass https://URL:8443/
ProxyPassReverse https://URL:8443/
</Location>
我也很高兴发布任何spring代码,但我只是不知道哪些部分可能有问题。我也不知道我配置不正确的那一部分,我的直觉说是mod_auth_openidc,但这可能是春天。
答案 0 :(得分:0)
似乎Spring不是为OpenID Connect配置的,而是仅为OAuth 2.0配置的。对于使用范围openid
的OpenID Connect客户端,提供程序应返回id_token
。显然,Spring配置错误,或者甚至不支持OpenID Connect。