【问题标题】:Handle local data for identityserver4 authentication为 identityserver4 身份验证处理本地数据
【发布时间】:2020-08-12 23:21:26
【问题描述】:

你好,我有点与身份服务器绑定;我设置了一个基本设置,效果很好,但之后是困难的部分。

我有一个客户(一个MVC 网络项目);和一个Identityserver4 服务器来处理Authentication(混合流)。 当我去一个具有授权属性的区域时,它会将我直接重定向到Identityserver4 进行登录,然后我将在登录后返回。

这很好,符合预期;但是对我来说,问题是我需要能够在客户端上为使用身份服务器登录的特定用户存储数据。

处理此问题的最佳方法是什么?在某些情况下,最好有一个基本屏幕来填写完成注册所需的数据和/或至少一个可用于建立关系的条目(如外部登录)。

我的想法是使用声明“sid”作为用户特定标识符(由身份服务器提供);并且我可以检查用户是否存在;如果它没有添加声明,那么用户需要完成注册(强制到一个页面或自动创建所需的条目)。

【问题讨论】:

    标签: c# identityserver4


    【解决方案1】:

    使用 OpenIDConnect 处理程序(在哪里执行 AddOpenIDConnect),您有一组可以挂钩的事件处理程序。在这些事件处理程序中,您可以在数据库中查找用户或根据 sid 创建用户。您还可以在此处转换或更改将在 ClaimsPrincipal 用户对象中显示的声明。之后,您可以根据需要将用户重定向到“填写其他信息”表单。

    在此处查看示例代码:

    【讨论】:

      猜你喜欢
      • 2018-01-02
      • 1970-01-01
      • 1970-01-01
      • 2020-01-24
      • 1970-01-01
      • 2019-04-12
      • 2018-07-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多