如何调用 MitreID OIDC 服务器?

How do I call MitreID OIDC server?

我正在使用来自 here 的 Spring Boot MitreID OIDC 应用程序。这运行正常,我可以登录,但没有其他选项可供我使用:

我正在尝试使用 simple-web-app. In simple-web-app I try to login using URI: http://localhost:8080/openid-connect-server-webapp/ 访问它。这给出:

WARN : org.mitre.openid.connect.client.service.impl.DynamicServerConfigurationService -
 Couldn't load configuration for http://localhost:8080/openid-connect-server-webapp/: 
com.google.common.util.concurrent.UncheckedExecutionException: 
org.springframework.web.client.HttpClientErrorException: 404 
ERROR: org.mitre.openid.connect.client.OIDCAuthenticationFilter - No server 
configuration found for issuer: http://localhost:8080/openid-connect-server-webapp/

编辑:当我尝试 http://localhost:8080 我得到:

    WARN : org.mitre.openid.connect.client.service.impl.WebfingerIssuerService - Webfinger 
endpoint MUST use the https URI scheme, overriding by configuration
ERROR: org.mitre.openid.connect.client.OIDCAuthenticationFilter - No client
 configuration found for issuer: http://localhost:8080/

谁能指出我正确的方向?

仅供参考,simple-web-app 只有一个 java class:

package org.mitre.web;

import java.security.Principal;
import java.util.Locale;
import java.util.Set;

import javax.annotation.Resource;

import org.mitre.openid.connect.client.OIDCAuthenticationFilter;
import org.mitre.openid.connect.client.SubjectIssuerGrantedAuthority;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

/**
 * Handles requests for the application home page.
 */
@Controller
public class HomeController {

    private static final Logger logger = LoggerFactory.getLogger(HomeController.class);

    // filter reference so we can get class names and things like that.
    @Autowired
    private OIDCAuthenticationFilter filter;

    @Resource(name = "namedAdmins")
    private Set<SubjectIssuerGrantedAuthority> admins;

    /**
     * Simply selects the home view to render by returning its name.
     */
    @RequestMapping(value = "/", method = RequestMethod.GET)
    public String home(Locale locale, Model model, Principal p) {

        model.addAttribute("issuerServiceClass", filter.getIssuerService().getClass().getSimpleName());
        model.addAttribute("serverConfigurationServiceClass", filter.getServerConfigurationService().getClass().getSimpleName());
        model.addAttribute("clientConfigurationServiceClass", filter.getClientConfigurationService().getClass().getSimpleName());
        model.addAttribute("authRequestOptionsServiceClass", filter.getAuthRequestOptionsService().getClass().getSimpleName());
        model.addAttribute("authRequestUriBuilderClass", filter.getAuthRequestUrlBuilder().getClass().getSimpleName());

        model.addAttribute("admins", admins);

        return "home";
    }

    @RequestMapping("/user")
    @PreAuthorize("hasRole('ROLE_USER')")
    public String user(Principal p) {
        return "user";
    }

    @RequestMapping("/open")
    public String open(Principal p) {
        return "open";
    }

    @RequestMapping("/admin")
    @PreAuthorize("hasRole('ROLE_ADMIN')")
    public String admin(Model model, Principal p) {

        model.addAttribute("admins", admins);

        return "admin";
    }

    @RequestMapping("/login")
    public String login(Principal p) {
        return "login";
    }

}

MitreID 在 root 上服务,但示例应用程序在 /openid-connect-server-webapp/ 上调用 您需要更改您的示例应用程序以指向正确的发行者....http://localhost:8080/(可能在您的示例应用程序的 application.properties 中?)或者您的 MitreID 服务器配置不正确(可能是为了发行人 属性)

请参阅 http://localhost:8080/.well-known/openid-configuration 以了解您的示例应用程序将访问的所有端点