Asp.net core 使用ASOS访问令牌中的自定义用户数据

Asp.net core 使用ASOS访问令牌中的自定义用户数据,asp.net-core,oauth-2.0,openid-connect,aspnet-contrib,Asp.net Core,Oauth 2.0,Openid Connect,Aspnet Contrib,我正在尝试使用AspNet.Security.OpenIdConnect.server插入OpenID Connect服务器 在授权服务器上发布令牌时,是否可以将一些自定义用户数据放置到访问令牌中,然后在令牌验证和请求处理期间在资源服务器上检索这些数据 示例:我想向访问令牌写入一个IP地址,用于按用户获取令牌。然后在资源服务器上,我想在令牌验证期间比较当前用户IP地址和令牌中的IP地址 另一个示例:我想将用户角色写入令牌,然后在WebApi操作筛选器或操作本身中检索它们考虑简单地将IP地址存储为

我正在尝试使用
AspNet.Security.OpenIdConnect.server
插入OpenID Connect服务器

在授权服务器上发布令牌时,是否可以将一些自定义用户数据放置到访问令牌中,然后在令牌验证和请求处理期间在资源服务器上检索这些数据

示例:我想向访问令牌写入一个IP地址,用于按用户获取令牌。然后在资源服务器上,我想在令牌验证期间比较当前用户IP地址和令牌中的IP地址


另一个示例:我想将用户角色写入令牌,然后在WebApi操作筛选器或操作本身中检索它们

考虑简单地将IP地址存储为声明:

identity.AddClaim("ip_addr", HttpContext.Connection.RemoteIpAddress.ToString(),
    OpenIdConnectConstants.Destinations.AccessToken);
然后,在API控制器中,使用以下方法检索它:

var address = User.FindFirst("ip_addr").Value;