Skip to content

关于oauth认证模块,是否支持授权服务器和客户端都保有登录能力的应用场景 #553

@lhqm

Description

@lhqm

对以下问题有疑问:

首先感谢作者大大的无私付出!我使用的是oauth相关模块,采用前后端分离授权码模式,我的实际要实现的需求如下:

如何对用户可授权系统进行控制

假如有A、B、C三个子系统,我只允许用户user登录A、B系统。用户user可以在授权服务器进行登录,而后登录A、B系统只需要授权即可,当用户尝试授权C系统时会被授权服务器拒绝

目前我的想法是在用户授权处进行扩展,去查用户对应的要跳转的client_id对应的系统是否在用户可授权范围内,如果不在就不给授权。不知道这个想法是否符合satoken的设计科学。

如何保留资源服务器的本地登录能力

用户user可以在C系统通过他在C系统的专属账密登录,此时C系统不关心授权服务器的存在,所有请求在C系统本地完成。但是他获得的会话凭证只能在C系统使用,跳转其他系统时会被重定向到授权服务器

不考虑系统间用户信息的同步问题,这个已经得到解决。目前就是以上问题比较棘手,如能解答,不胜感激!

< 备注:请尽量详细描述问题所在 >

Activity

click33

click33 commented on May 12, 2025

@click33
Collaborator

v1.43.0 版本将 新增 SaOAuth2Strategy.instance.userAuthorizeClientCheck 策略,用于检查指定用户是否可以授权指定应用,可解决问题1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @click33@lhqm

        Issue actions

          关于oauth认证模块,是否支持授权服务器和客户端都保有登录能力的应用场景 · Issue #553 · dromara/Sa-Token