【问题标题】:Custom user data in access token with ASOS使用 ASOS 访问令牌中的自定义用户数据
【发布时间】:2017-12-04 09:56:50
【问题描述】:

我正在尝试使用 AspNet.Security.OpenIdConnect.Server 来实现 OpenID Connect 服务器。

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

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

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

【问题讨论】:

    标签: asp.net-core oauth-2.0 openid-connect aspnet-contrib


    【解决方案1】:

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

    identity.AddClaim("ip_addr", HttpContext.Connection.RemoteIpAddress.ToString(),
        OpenIdConnectConstants.Destinations.AccessToken);
    

    然后,在您的 API 控制器中,使用以下方法检索它:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-02
      • 2022-11-17
      • 1970-01-01
      • 1970-01-01
      • 2021-12-03
      • 2018-07-03
      • 1970-01-01
      • 2021-09-17
      相关资源
      最近更新 更多