【问题标题】:How to get all users from an authorization server using OIDC in spring?如何在春季使用 OIDC 从授权服务器获取所有用户?
【发布时间】:2019-04-28 01:44:36
【问题描述】:

我有一个使用 OIDC (oauth2) 进行身份验证的 spring-boot 应用程序,我正在尝试从授权服务器获取所有用户的列表 - 我应该如何使用 spring 来实现它?

【问题讨论】:

    标签: java spring-boot spring-security oauth-2.0 openid-connect


    【解决方案1】:

    Spring Security OAuth2 没有用于表达用户存储库的 API。它确实有一个UserDetailsService 接口,但你会注意到它只有loadUserByUsername 方法。

    如果您正在构建 OAuth 2 授权服务器,您可以查看 Spring Data 和 Spring MVC 以公开查询端点(使用 Spring Security 来保护该端点)。

    如果您正在构建与第三方授权服务器通信的 OAuth 2 资源服务器或客户端,您可以查看 RestTemplateWebClient 来制定您的授权服务器想要的任何专有查询,因为像 @ Ronald 说,查询用户没有 OAuth 2.0 标准。

    【讨论】:

      【解决方案2】:

      当用户登录到他的身份提供者时,他的个人信息可以通过身份令牌包含的声明来访问。或者通过接近 userinfo 端点。

      没有根据 OIDC 标准从授权服务器返回所有用户的端点。

      【讨论】:

        猜你喜欢
        • 2020-04-18
        • 1970-01-01
        • 2011-05-15
        • 2021-03-11
        • 2019-06-19
        • 2016-04-20
        • 1970-01-01
        • 2016-05-05
        • 2021-04-12
        相关资源
        最近更新 更多