2016-06-15 59 views
1

这是对我以前的问题here的后续问题。我的问题是关于何时查询自定义UserInfoEndpoint我希望我的访问令牌(作为请求中的不记名令牌发送)中的声明成为上下文ProfileDataRequestContext的一部分。问题是他们不是,具体而言,我希望ticket声明在上下文中,但上下文是空的(除了sub,据我了解总是存在)。如何在ProfileDataRequestContext中包含access_token声明?

请参阅我的上一个问题关于实施,因为我不想在这里重新发布一切。

在此先感谢...

日志以供参考......

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 

回答

2

这种期望是错误的 - 用户信息是开放ID连接的概念,是一种替代方式去索赔,否则将在身份令牌。不是访问令牌。

这就是说 - 在您的用户服务的GetProfileDataAsync方法中,您可以从上下文中检测是否通过userinfo端点调用,并且可以返回任何您喜欢的声明。