如何使用DotNetOpenAuth在访问令牌中包含身份声明?特别是电子邮件声明。
很明显如何制作范围声明(因此在响应中它将类似于scope = http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress:myemail@some.host),但在我看来这样做是因为使用范围不正确。我正在使用grant_type =密码流。
另一种方法是通过OpenID Connect协议从客户端应用程序发出额外的UserInfo请求,但我不想要任何其他请求。
理想情况下,我需要向AccessToken类添加属性,或将电子邮件发送到ExtraData属性。
答案 0 :(得分:0)
这可以在DNOA 4.1+中完成,DNOA 4.0中没有这样的功能。
可以将OAuth2AuthorizationServer.CreateAccessToken方法中的自定义值放入ExtraData属性。然后,可以从StandardAccessTokenAnalyzer.DeserializeAccessToken或ResourceServer.GetAccessToken的覆盖中获取这些值。