在访问令牌中包含身份声明

时间:2016-11-09 11:19:03

标签: dotnetopenauth claims-based-identity claims

如何使用DotNetOpenAuth在访问令牌中包含身份声明?特别是电子邮件声明。

很明显如何制作范围声明(因此在响应中它将类似于scope = http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress:myemail@some.host),但在我看来这样做是因为使用范围不正确。我正在使用grant_type =密码流。

另一种方法是通过OpenID Connect协议从客户端应用程序发出额外的UserInfo请求,但我不想要任何其他请求。

理想情况下,我需要向AccessToken类添加属性,或将电子邮件发送到ExtraData属性。

1 个答案:

答案 0 :(得分:0)

这可以在DNOA 4.1+中完成,DNOA 4.0中没有这样的功能。

可以将OAuth2AuthorizationServer.CreateAccessToken方法中的自定义值放入ExtraData属性。然后,可以从StandardAccessTokenAnalyzer.DeserializeAccessToken或ResourceServer.GetAccessToken的覆盖中获取这些值。