Node.js NodeJS OpenID连接身份验证请求

Node.js NodeJS OpenID连接身份验证请求,node.js,oauth-2.0,openid,Node.js,Oauth 2.0,Openid,我试图通过以下方法实现OpenID连接。 我被第3.1.2.1节卡住了 它表示客户端必须通过GET或POST发送身份验证请求。 我在诺德试过了 这是我的index.js(客户:依赖方) 这是我的用户代码:(身份验证服务器) var express=require('express'); var router=express.router(); /*获取用户列表*/ router.get('/',函数(req,res){ res.send(“用资源响应”); }); router.post('/'

我试图通过以下方法实现OpenID连接。 我被第3.1.2.1节卡住了 它表示客户端必须通过GET或POST发送身份验证请求。 我在诺德试过了

这是我的index.js(客户:依赖方)

这是我的用户代码:(身份验证服务器)

var express=require('express');
var router=express.router();
/*获取用户列表*/
router.get('/',函数(req,res){
res.send(“用资源响应”);
});
router.post('/',函数(req,res){
//控制台日志(请求主体);
res.writeHead(200,{“内容类型”:“text/html”});
res.write(
"" + 
"" + 
"" + 
"" + 
“Hola Mundo”+
"" + 
"" + 
“警报(‘你好,世界’)”+
"" + 
""); 
res.end();
//res.send(请求主体);
});
module.exports=路由器;
正如第3.1.2.1节所述,身份验证请求的范围属性可以是一个弹出窗口,因此我假设身份验证应该能够打开一个弹出窗口,请求用户登录。但我无法在身份验证服务器端打开弹出窗口。
是否有人可以打开一个弹出窗口,要求用户在服务器端登录或检查用户是否已登录,从而帮助我编写代码?

它显示了许多缺少的部分:令牌端点等。您可能需要查看一下

看看其中的任何一个实现(在提供者下)(这一个特别实现了OIDC:,但可能还有其他实现)


(authz)服务器端可以通过实现。

感谢链接。我知道到目前为止我还没有完成整个实施。但如果你去我分享的链接。我试图用代码实现3.1.1。我对链接中3.1.1中的前4个步骤有点困惑。请帮我做这个。
var express = require('express');
var router = express.Router();
var querystring = require('querystring');
var http = require('http');

var id_token = {
    iss : true,
    sub : true,
    aud : true,
    exp : true,
    iat : true,
    auth_time : false,
    nonce : false,
    acr : false,
    amr : false,
    azp : false
};

var auth_request = {
    scope : true,
    response_type : true,
    client_id : true,
    redirect_uri : true,
    state : true,
    response_mode : false,
    nonce : false,
    display : false,
    prompt : false,
    max_age : false,
    ui_locales : false,
    id_token_hint : false,
    login_hint : false,
    acr_values : false
};

/* GET home page. */
router.get('/', function(req, res) {
  res.render('index', { title: 'Express' });
});

router.post('/', function(req, res) {
    var formcontent = req.body;
    if (formcontent.hasOwnProperty("oauth-request")){
        var oauthrequest = querystring.stringify(auth_request);
        var options = {
            host: 'localhost',
            port: 3000,
            path: '/users',
            method: 'POST',
            headers: {
                'Content-Type': 'application/x-www-form-urlencoded',
                'Content-Length': oauthrequest.length
            }
        };

        var req = http.request(options, function(response){
            response.setEncoding('utf8');
            var str = ''
            response.on('data', function (chunk) {
                str += chunk;
            });

            response.on('end', function () {
                console.log(str);

            });
        });
        req.write(oauthrequest);
        req.end();  
    }
});

module.exports = router;
var express = require('express');
var router = express.Router();

/* GET users listing. */
router.get('/', function(req, res) {
  res.send('respond with a resource');
});
router.post('/', function(req, res) {
    //console.log(req.body);    
    res.writeHead(200, {"Content-Type": "text/html"}); 
    res.write( 
        "<!DOCTYPE html>" + 
        "<html lang='en' dir='ltr'>" + 
            "<head>" + 
                "<meta charset='utf-8'>" + 
                "<title>Hola Mundo</title>" + 
            "</head>" + 
            "<body>" + 
                "<script type='text/javascript'>alert('Hello World')</script>" + 
            "</body>" + 
            "</html>"); 
    res.end(); 
    //res.send(req.body);
});

module.exports = router;