Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – 使用express-jwt作为中间件来验证Azure AD发布的令牌大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想知道是否可以使用express-jwt NPM软件包作为中间件来验证Azure AD发布的JWT令牌.

我们有一个用express / node编写的Web API,并希望应用中间件模式来保护我们的端点并填充用户原则.

似乎:

server.use(jwt({
    audience: '{UUID}',issuer: 'https://sts.windows.net/{UUID}',}).unless({path : ['/']}))

不起作用,因为它需要客户端秘密,但是从AD(很像隐式流),通过用户交互检索令牌,并且没有客户端秘密.

解决方法

你可以使用“azure-ad-jwt”.它相当直接,不需要注入中间件.@R_801_8266@作为中间步骤注入您自己的“中间件”功能中.

private verifyToken(req: any,res: any) {
        var audience = "xxxxxxxxx";
        var tenantId = "xxxxxxxxx";

        var authorization = req.headers['authorization'];
        return Rx.observable.create((observer) => {
            if (authorization) {
                var bearer = authorization.split(" ");
                var jwtToken = bearer[1];
                if (jwtToken) {
                    aad.verify(jwtToken,{ audience: audience,tenantId: tenantId },function (err,result) {
                        if (result) {
                            observer.next(true);
                        } else {
                            res.status(401).send('That is not a valid token!');
                        }
                    })
                } else {
                    res.status(401).send('No token in header.');
                }
            } else {
                res.status(401).send('Missing authorization attribute in header.');
            }
        });
    }

大佬总结

以上是大佬教程为你收集整理的node.js – 使用express-jwt作为中间件来验证Azure AD发布的令牌全部内容,希望文章能够帮你解决node.js – 使用express-jwt作为中间件来验证Azure AD发布的令牌所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。