Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何调用MitridC服务器?_Java_Spring Boot_Openid Connect_Mitreid Connect - Fatal编程技术网

Java 如何调用MitridC服务器?

Java 如何调用MitridC服务器?,java,spring-boot,openid-connect,mitreid-connect,Java,Spring Boot,Openid Connect,Mitreid Connect,我使用的是来自的Spring Boot MitreID OIDC应用程序。运行正常,我可以登录,但没有其他可用选项: 我正在尝试使用访问它。在简单web应用中,我尝试使用URI登录:。这使得: WARN : org.mitre.openid.connect.client.service.impl.DynamicServerConfigurationService - Couldn't load configuration for http://localhost:8080/openid-co

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

我正在尝试使用访问它。在简单web应用中,我尝试使用URI登录:。这使得:

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/
编辑:当我尝试时,我得到:

谁能给我指出正确的方向吗

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

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";
    }

}
package org.mitre.web;
导入java.security.Principal;
导入java.util.Locale;
导入java.util.Set;
导入javax.annotation.Resource;
导入org.mitre.openid.connect.client.OIDCAuthenticationFilter;
导入org.mitre.openid.connect.client.SubjectIssuerGrantedAuthority;
导入org.slf4j.Logger;
导入org.slf4j.LoggerFactory;
导入org.springframework.beans.factory.annotation.Autowired;
导入org.springframework.security.access.prepost.PreAuthorize;
导入org.springframework.stereotype.Controller;
导入org.springframework.ui.Model;
导入org.springframework.web.bind.annotation.RequestMapping;
导入org.springframework.web.bind.annotation.RequestMethod;
/**
*处理应用程序主页的请求。
*/
@控制器
公共类家庭控制器{
私有静态最终记录器Logger=LoggerFactory.getLogger(HomeController.class);
//过滤引用,这样我们就可以得到类名之类的东西。
@自动连线
私人身份验证过滤器;
@资源(name=“namedAdmins”)
私有集管理员;
/**
*只需通过返回主视图的名称来选择要渲染的主视图。
*/
@RequestMapping(value=“/”,method=RequestMethod.GET)
公共字符串主页(区域设置、模型模型、主体p){
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());
addAttribute(“admins”,admins);
返回“家”;
}
@请求映射(“/user”)
@预授权(“hasRole('ROLE_USER'))
公共字符串用户(主体p){
返回“用户”;
}
@请求映射(“/open”)
公共字符串打开(主体p){
返回“打开”;
}
@请求映射(“/admin”)
@预授权(“hasRole('ROLE_ADMIN'))
公共字符串管理(模型,主体p){
addAttribute(“admins”,admins);
返回“admin”;
}
@请求映射(“/login”)
公共字符串登录(主体p){
返回“登录”;
}
}

MitreID正在根目录上提供服务,但示例应用正在/openid connect server webapp/ 您将要更改示例应用程序以指向正确的颁发者。。。。(可能在示例应用程序的application.properties中?)


查看示例应用程序将遇到的所有端点

谢谢!对不起,忘了提一下:我试过了。我已经编辑了这个问题。等等……请您再解释一下“MitreID服务器配置不正确(可能是针对发卡机构属性)”的情况好吗?此示例未配置为与spring引导叉一起使用。在Thansk中查找发行人引用。删除该文件中对openid connect server webapp的引用使其正常工作。或者更确切地说,它给出了一个不同的错误。新问题。
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";
    }

}