Spring boot 弹簧靴&x2B;oauth2+;HttpClientErrorException 401未经授权

Spring boot 弹簧靴&x2B;oauth2+;HttpClientErrorException 401未经授权,spring-boot,oauth,netiq,Spring Boot,Oauth,Netiq,我使用spring boot教程作为基础() 测试Oauth2 然而,我的身份验证服务器不是facebook,而是Netiq访问管理器(NAM)。 我设法重定向到NAM登录页面,但在登录后,出现以下错误: 日志显示: o.s.b.a.s.o.r.UserInfoTokenServices : Could not fetch user details: class org.springframework.web.client.HttpClientErrorException, 401

我使用spring boot教程作为基础() 测试Oauth2

然而,我的身份验证服务器不是facebook,而是Netiq访问管理器(NAM)。 我设法重定向到NAM登录页面,但在登录后,出现以下错误:

日志显示:

o.s.b.a.s.o.r.UserInfoTokenServices      : Could not fetch user details: class org.springframework.web.client.HttpClientErrorException, 401 Unauthorized
这是一个项目:

应用程序代码:

package com.example.springoauthdemo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.security.oauth2.client.EnableOAuth2Sso;

@SpringBootApplication
@EnableOAuth2Sso
public class SocialApplication {

    public static void main(String[] args) {
        SpringApplication.run(SocialApplication.class, args);
    }
}
应用程序.yml

security:
  oauth2:
    client:
      clientId: 55bb61f1-4384-4939-9cd0-fa7d76af9a0c
      clientSecret: fdUjegFlCJjnD778RUSuS4SqMRey4IKVDOkadi4hjN6YbhC1xCInxoxobf-a-p-po8rt1wfZM2BPqJHpcZ-FGs
      accessTokenUri: https://nam.example.com/nidp/oauth/nam/token
      userAuthorizationUri: https://nam.example.com/nidp/oauth/nam/authz
      tokenName: oauth_token
      authenticationScheme: query
      clientAuthenticationScheme: form
    resource:
      userInfoUri: https://localhost:8443/index.html
      #userInfoUri: https://nam.example.com/nidp/oauth/nam/userinfo

server:
  port: 8443
  ssl:
    enabled: true
    key-alias: tomcat-localhost
    key-password: changeit
    key-store: classpath:keystore.jks
    key-store-provider: SUN
    key-store-type: JKS
    key-store-password: changeit
据我所知,以Oauth2流为例,步骤1、2和3似乎是可以的,所以问题是尝试获取访问令牌

有什么想法吗


提前谢谢

当您通过身份验证并且拥有一个用户时,您可以根据userInfoUri对其进行验证,userInfoUri返回oauth的主体对象

您正在针对html设置此值:

resource:
      userInfoUri: https://localhost:8443/index.html
应该是这样的:

resource:
      userInfoUri: https://localhost:8443/userinfo
@RequestMapping("/userinfo")
    Principal getUser(Principal user) {
        return user;
    }
服务响应必须返回如下内容:

resource:
      userInfoUri: https://localhost:8443/userinfo
@RequestMapping("/userinfo")
    Principal getUser(Principal user) {
        return user;
    }

我也面临同样的问题。你解决问题了吗,不幸的是还没有。你解决这个问题了吗?我也一样