在用于api验证的节点应用程序中,我在passport-azure-ad包中使用passport-azure-ad。
在文档中,指定
用户向受保护的web发送请求,该api在授权头或主体中包含access_token。
如果访问令牌存储在cookie header 中而不是授权标头中,那么可以验证api吗?
守则如下:
const authenticationStrategy = new BearerStrategy(config.credentials, (token,
done) => {
let currentUser = null;
let userToken = authenticatedUserTokens.find((user) => {
currentUser = user;
user.sub === token.sub;
});
if (!userToken) {
authenticatedUserTokens.push(token);
}
return done(null, currentUser, token);
});
passport.use(authenticationStrategy);
server.get('/api/test', passport.authenticate('oauth-bearer', {
session: false
}), (req, res, next) => {
res.send({"message":"Success"});
return next();
});因此,如果我在cookie头中传递访问令牌,则不会验证-it。我要不要用护照饼干之类的其他套餐?那么,如何通过蔚蓝凭据与azure Active Directory集成?
发布于 2020-07-17 10:38:08
访问令牌也可以通过浏览器cookie传输。选择哪种传输方法(cookie头还是授权头)取决于应用程序和用例。对于移动应用程序来说,头是要走的路。
对于web应用程序,建议使用HttpOnly cookie而不是HTML5存储/头,以更好地抵御XSS攻击。重要的是要注意,使用cookie意味着您需要保护您的表单免受CSRF攻击。
https://stackoverflow.com/questions/62951240
复制相似问题