有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Oauth2附加参数验证

我在身份验证中添加了额外的参数,即纪律(足球、排球)

  • xyz@abc.com有纪律的足球
  • xyz@abc.com有纪律的手球

帐户是两个不同的(未连接)但Oauth2响应,具有相同的访问和刷新令牌。我试着调试它,并注意到对象是正确的(具有不同的规程值),但它可能只通过用户名验证

这是我的userDetails类,它被正确转换,并从实现的UserDetailsService的方法loadUserByUsername返回具有正确规程的用户

public class UserLoggedDetails implements Serializable, UserDetails {

    public UserLoggedDetails() {

    }
    private static final long serialVersionUID = -1517854890490461015L;

    @Transient
    private List<GrantedAuthority> auths;

    public void setPassword(String password) {
        this.password = password;
    }

    private String password;

    public void setUsername(String username) {
        this.username = username;
    }

    private String username;

    private String remoteId;

    private Discipline discipline;


    @Override
    public Collection<? extends GrantedAuthority> getAuthorities() {
        return this.auths;
    }

    public void setAuths(List<GrantedAuthority> auths) {
        this.auths = auths;
    }

    @Override
    public String getPassword() {
        return this.password;
    }

    @Override
    public String getUsername() {
        return this.username;
    }

    @Override
    public boolean isAccountNonExpired() {
        return true;
    }

    @Override
    public boolean isAccountNonLocked() {
        return true;
    }

    @Override
    public boolean isCredentialsNonExpired() {
        return true;
    }

    @Override
    public boolean isEnabled() {
        return true;
    }

    public String getRemoteId() {
        return remoteId;
    }

    public void setRemoteId(String remoteId) {
        this.remoteId = remoteId;
    }

    public Discipline getDiscipline() {
        return discipline;
    }

    public void setDiscipline(Discipline discipline) {
        this.discipline = discipline;
    }
}

共 (0) 个答案