尝试通过 mod_auth_openidc 使用 Converged Microsoft Account 和 Azure AD
Trying to use Converged Microsoft Account and Azure AD with mod_auth_openidc
阅读以下文章后:
我尝试根据以下文档实施 OpenID Connect/Oauth 代码流:
https://azure.microsoft.com/en-us/documentation/articles/active-directory-appmodel-v2-overview/
我使用 mod_auth_openidc 作为我的依赖方(我与 Google 和我自己的 OpenID 提供商合作。
我已经在 https://apps.dev.microsoft.com 注册了我的应用程序,并完成了所有步骤。我在 Microsoft 获得登录屏幕,然后是权限屏幕,当它重定向回我的站点并点击 mod_auth_openidc 时,我收到一条错误消息:
错误:
OpenID Connect 提供程序返回错误:处理响应类型时出错。
在我的 Apache 错误日志中,我得到:
oidc_proto_validate_code_response: requested flow is "code" but no "access_token" parameter found in the code response, referer: https://login.microsoftonline.com/common/oauth2/v2.0/authorize?response_type=code&scope=openid&client_id=xxx&state=yyy&redirect_uri=https%3A%2F%2Fdst-dev.mydomain.com%2Foauth2callback&nonce=zzz
和
oidc_proto_resolve_code_and_validate_response: code response validation failed,
我想弄清楚的是问题出在哪里。 Microsoft 发送的 mod_auth_openidc 是否存在问题,或者 mod_auth_openidc 端是否存在错误或配置问题?
MS网页的示例在身份验证请求中使用了不同的响应模式和响应类型:
&response_mode=form_post&response_type=code+id_token
两者均受 mod_auth_openidc
支持,因此您可以通过包含以下内容来应用类似的内容:
OIDCResponseType id_token
OIDCResponseMode form_post
在 Apache 配置中或在 .conf
文件中为 Microsoft 使用多个提供程序时使用相关原语。
阅读以下文章后:
我尝试根据以下文档实施 OpenID Connect/Oauth 代码流:
https://azure.microsoft.com/en-us/documentation/articles/active-directory-appmodel-v2-overview/
我使用 mod_auth_openidc 作为我的依赖方(我与 Google 和我自己的 OpenID 提供商合作。
我已经在 https://apps.dev.microsoft.com 注册了我的应用程序,并完成了所有步骤。我在 Microsoft 获得登录屏幕,然后是权限屏幕,当它重定向回我的站点并点击 mod_auth_openidc 时,我收到一条错误消息:
错误:
OpenID Connect 提供程序返回错误:处理响应类型时出错。
在我的 Apache 错误日志中,我得到:
oidc_proto_validate_code_response: requested flow is "code" but no "access_token" parameter found in the code response, referer: https://login.microsoftonline.com/common/oauth2/v2.0/authorize?response_type=code&scope=openid&client_id=xxx&state=yyy&redirect_uri=https%3A%2F%2Fdst-dev.mydomain.com%2Foauth2callback&nonce=zzz
和
oidc_proto_resolve_code_and_validate_response: code response validation failed,
我想弄清楚的是问题出在哪里。 Microsoft 发送的 mod_auth_openidc 是否存在问题,或者 mod_auth_openidc 端是否存在错误或配置问题?
MS网页的示例在身份验证请求中使用了不同的响应模式和响应类型:
&response_mode=form_post&response_type=code+id_token
两者均受 mod_auth_openidc
支持,因此您可以通过包含以下内容来应用类似的内容:
OIDCResponseType id_token
OIDCResponseMode form_post
在 Apache 配置中或在 .conf
文件中为 Microsoft 使用多个提供程序时使用相关原语。