Windows Live Open ID Connect / Oauth 2.0如何与Apache mod_auth_openidc一起用于SSO

你爱

我已经将mod_auth_openidc与Google一起使用,并将phpOIDC的手动滚动版本作为我的OP,并将mod_auth_openidc作为我的身份提供者。

我的问题似乎是Microsoft实现中的错误。

mod_auth_openidc是一个很棒的mod,并且进行了相当多的验证。

JWT中返回的内容之一是“ aud”参数,它是受众。

根据Open ID Connect规范:

aud REQUIRED. Audience(s) that this ID Token is intended for. It MUST contain the OAuth 2.0 client_id of the Relying Party as an audience value. It MAY also contain identifiers for other audiences. In the general case, the aud value is an array of case sensitive strings. In the common special case when there is one audience, the aud value MAY be a single case sensitive string.

我的客户ID是00000001234(不是我的真实ID,仅是示例)。

我通过握手进行操作,一切都很繁琐,我从Windows Live获得了现时的“代码”,然后将其交换为我的令牌,但是获得的令牌的“ aud”值为:

00000000-0000-0000-0000-00000001234

mod_auth_openidc会正确检查返回的令牌中的“ aud”值,并以错误响应,因为“ aud”与配置的cliend_id不匹配,根据规范应该如此。

我的问题是,除了不验证令牌的受众之外,还有什么方法可以在MS Developer控制台中配置该应用程序,以便它针对返回的令牌中的“ aud”值正确返回客户端ID?

Sans认为,在实施中报告此类错误的最佳位置是哪里?

汉斯Z.

实际上,在文档中没有任何地方login.live.com说MS Live符合OpenID Connect。它确实提到它已经在OAuth 2.0之上构建了自己的SSO协议。

似乎您通过反复试验发现MS Live支持OpenID Connect的重要部分(众所周知位置的发现文档,JWKS URI,openid范围等),这本身就是我的新闻。但是不幸的是,似乎仍然缺少一件小事……这可能也是尚未宣布OpenID Connect支持MS Live ID的原因。

MS在Azure AD中的OpenID Connect实施完全兼容,但Live ID尚未实现。我想您所能做的就是Bug MS。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

React Native应用程序-如何使用OAuth 2.0和Open ID Connect?

Auth2 + Open ID Connect,如何與內部後端進行授權?

OAuth 2.0和Open Id Connect声明问题

Windows Live OAuth访问XBox Live信息

OAuth 2 access_token与OpenId Connect id_token

Google的OpenID Connect表示:OAuth 2参数只能有一个值:client_id

ASP.NET Web APP和Web API中的Azure AD Open ID Connect OAuth 2.0无限重定向循环

如何使用 OAuth 2.0 / OpenID Connect 处理后续 SSO 登录?

OAuth 2.0,Open ID连接和SAML

Windows 8 / Live ID / 服务登录凭据

在 ASP.NET Core 2 中使用令牌或 Open ID Connect 进行身份验证

addr2line如何与虚拟地址一起用于内核空间调试?

Open Id Connect的令牌存储在哪里?

Microsoft Live OAuth2 API的重定向URL

OAuth2 Open ID客户端身份验证,后跟LDAP用户详细信息和权限

如何将OAuth与Forms Auth一起使用

谁/什么是Open ID Connect Auth代码流中的客户端应用程序?

如何使用Owin / Open ID Connect将其他Azure AD属性添加为声明

Open Id Connect疑问-Identity Server 4 //如何向特定用户授予具体作用域?

如何将Open ID Connect令牌安全地转换为Cookie

如何在OpenID Connect / OAuth2隐式流中获取新的访问令牌

Flutter oAuth:如何开始使用OAuth和Stripe Connect

Spring OAuth2:如何只允许用户使用自己的 ID 访问 /rest/users/{id}?

如何将Python OpenID Connect模块与IBM Cloud App ID一起使用?

Apache无法识别mod_auth_openidc命令

如何将vuelidate与vuetify 2一起用于嵌套数据?获取无效字段

如何将Slack的OAuth2与Java桌面应用程序一起使用

Facebook Oauth2-无效的范围ID?

使用Windows Live ID,但使用其他密码登录