这是我之前提问here的后续问题。我的问题是,当我查询自定义UserInfoEndpoint时,我希望来自我的访问令牌(在请求中作为承载令牌发送)的声明成为上下文ProfileDataRequestContext
的一部分。问题是它们不是,特别是我希望ticket
声明在上下文中,但是上下文是空的(除了我理解的sub
总是存在)。
请参阅我之前关于实施的问题,因为我不想在此重新发布所有内容。
提前致谢...
记录以供参考......
2016-06-15 13:52:11.508 -05:00 [Information] Creating userinfo response
2016-06-15 13:52:11.513 -05:00 [Information] Scopes in access token: "app openid offline_access appaccess"
2016-06-15 13:52:11.514 -05:00 [Information] Requested claim types: "applicationDto sub"
2016-06-15 13:52:11.514 -05:00 [Debug] Getting ProfileDataAsync
2016-06-15 13:52:11.514 -05:00 [Debug] The claims in the context...
2016-06-15 13:52:11.514 -05:00 [Debug] Claims sub 783bf872-b864-4042-853d-04fbcb7a505a
2016-06-15 13:52:11.514 -05:00 [Debug] The requseted claims...
2016-06-15 13:52:11.514 -05:00 [Debug] Cliams applicationDto
2016-06-15 13:52:11.514 -05:00 [Debug] Cliams sub
2016-06-15 13:52:11.514 -05:00 [Debug] Finished ProfileDataAsync
2016-06-15 13:52:11.514 -05:00 [Information] Profile service returned to the following claim types: "sub"
2016-06-15 13:52:11.514 -05:00 [Information] End userinfo request
2016-06-15 13:52:11.516 -05:00 [Information] Returning userinfo response.
更新: 在github上讨论了这个问题之后,确定不支持这个问题,建议我把票放在id_token中,但这仍然无法解决问题。
有什么方法可以将ticket
声明作为UserInfoEndpoint上下文的一部分?
更新后记录...
2016-06-16 12:23:08.023 -05:00 [Information] Creating userinfo response
2016-06-16 12:23:08.027 -05:00 [Information] Scopes in access token: "app openid offline_access appaccess"
2016-06-16 12:23:08.028 -05:00 [Information] Requested claim types: "applicationDto sub ticket"
2016-06-16 12:23:08.028 -05:00 [Debug] Getting ProfileDataAsync
2016-06-16 12:23:08.028 -05:00 [Debug] Claims in Claims in the context...
2016-06-16 12:23:08.028 -05:00 [Debug] "sub : 783bf872-b864-4042-853d-04fbcb7a505a"
2016-06-16 12:23:08.028 -05:00 [Debug] Claims in Requested Claims...
2016-06-16 12:23:08.028 -05:00 [Debug] "applicationDto"
2016-06-16 12:23:08.028 -05:00 [Debug] "sub"
2016-06-16 12:23:08.028 -05:00 [Debug] "ticket"
2016-06-16 12:23:08.028 -05:00 [Debug] Claims in Issued Claims...
2016-06-16 12:23:08.028 -05:00 [Debug] "sub : 783bf872-b864-4042-853d-04fbcb7a505a"
2016-06-16 12:23:08.028 -05:00 [Debug] Finished ProfileDataAsync
答案 0 :(得分:2)
这种期望是错误的 - userinfo是一个OpenID Connect概念,是另一种获取身份令牌中的声明的方法。不是访问令牌。
这就是说 - 在用户服务的GetProfileDataAsync
方法中,您可以从上下文中检测是否通过userinfo端点调用,并且可以返回您喜欢的任何声明。