Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – 使用Passport和passport-azure-ad时没有刷新令牌大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用Passport连接到Office365.我收到auth提示并返回访问令牌.问题是刷新令牌未定义.

我的设置

// In app.js
const creds = {
    redirectUrl: 'http://localhost:3000/token',clientID: '<myClientId>',clientSecret: '<mySecret>',identityMetadata: 'https://login.microsoftonline.com/common/v2.0/.well-kNown/openid-configuration',allowhttpForRedirectUrl: true,// For development only
    accessType: 'offline',responseType: 'code',validateIssuer: false,// For development only
    responseMode: 'query',scope: [
        'Contacts.Read',...
    ]
};

const callBACk = (iss,sub,profile,accessToken,refreshToken,donE) => {
  console.log('refresh Token: ',refreshToken); // this is undefined
  done(null,{
    profile,refreshToken
  });
};

passport.use(new OIDCStrategy(creds,callBACk));

// When I authenticate
const passportSetTings = {
  accessType: 'offline',approvalPrompt: 'consent'
};

// Authentication request.
router.get('/login',(req,res,next) => {
  passport.authenticate('azuread-openidconnect',passportSetTings,(err,user,info) => {
        // Do stuff.
  });
});

我试过的事情:

>取消为我注册用户授权应用程序.
>移动accessType设置的位置.

我真的不知道为什么这不起作用.使用Google策略只需设置“离线”类型就足够了.

解决方法

看起来您需要将offline_access范围添加到应用程序注册以及配置中.见 https://github.com/AzureAD/passport-azure-ad/issues/322.

大佬总结

以上是大佬教程为你收集整理的node.js – 使用Passport和passport-azure-ad时没有刷新令牌全部内容,希望文章能够帮你解决node.js – 使用Passport和passport-azure-ad时没有刷新令牌所遇到的程序开发问题。

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

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