缺少Id_Token Spring Oauth2身份验证服务器和mod_auth_openidc

时间:2019-01-06 23:48:46

标签: spring-security spring-security-oauth2 spring-oauth2 mod-auth-openidc

我正在尝试让一个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,但这可能是春天。

1 个答案:

答案 0 :(得分:0)

似乎Spring不是为OpenID Connect配置的,而是仅为OAuth 2.0配置的。对于使用范围openid的OpenID Connect客户端,提供程序应返回id_token。显然,Spring配置错误,或者甚至不支持OpenID Connect。