验证Node.js中Azure Active Directory OAuth提供程序提供的access_token

时间:2019-01-09 11:54:55

标签: azure jwt azure-active-directory passport-azure-ad

我有一个React Native Client,它从Azure Active Directory获取access_token,然后在标头中的Node.js API中传递令牌。

在Node.js API中,要验证令牌...

我有一个名为azure-ad-jwt的NPM模块,

然后我尝试使用此代码块来验证令牌。

const aad = require('azure-ad-jwt');
const token = '<<<<My Token>>>>';

aad.verify(token, { audience: 'https://graph.microsoft.com' }, (err, result) => {
  if (result) { console.log('Valid Token'); }
  else if (err) { console.log(err); }
});

我不知道我错过了什么还是配置中有什么问题。

我收到此错误:JsonWebTokenError: invalid signature

尽管我的令牌已被所有信息正确解码。

我不知道为什么它仍然会引发此错误。

如果任何人都可以纠正此错误并帮助我找到解决方案,那就太好了。

请确保其令牌

eyJ0eXAiOiJKV1QiLCJub25jZSI6IkFRQUJBQUFBQUFDRWZleFh4amFtUWIzT2VHUTRHdWd2RlhUMlRPNXhaR2s0MEZydnNSYnV6TDlzajdnWUhXNVFuX0pDVHZGRjlzMTRNUndOMWxJSlNGQzVtVm9tMzh6MmxzakpaTnVlcHNLOTc0VEQwZEtneWlBQSIsImFsZyI6IlJTMjU2IiwieDV0IjoibmJDd1cxMXczWGtCLXhVYVh3S1JTTGpNSEdRIiwia2lkIjoibmJDd1cxMXczWGtCLXhVYVh3S1JTTGpNSEdRIn0.eyJhdWQiOiJodHRwczovL2dyYXBoLm1pY3Jvc29mdC5jb20iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC9mOTc1NmY0Mi0yN2MyLTRiNWQtOWQyNC01YTc2MDRmNzBlZjcvIiwiaWF0IjoxNTQ3MDI4NjIyLCJuYmYiOjE1NDcwMjg2MjIsImV4cCI6MTU0NzAzMjUyMiwiYWNjdCI6MSwiYWNyIjoiMSIsImFpbyI6IkFUUUF5LzhLQUFBQVJSNUwwZnZKc1RTV3F0ZSI6IlVubml0aS1TZXJ2ZXIiLCJhcHBpZCI6ImIzZTllNGE1LTEzMzgtNDExMi1hNTFkLThlODNiY2Y0ZGQ4NSIsImFwcGlkYWNyIjoiMSIsImVtYWlsIjoic3VzaGFudGtAcHJkeG4uY29tIiwiaWRwIjoiaHR0cHM6Ly9zdHMud2luZG93cy5uZXQvMzFhYmQwMDMtZjM3OS00ZTMwLWJiNDYtMWU2MDBiNGI2YjFkLyIsImlwYWRkciI6IjExMS4xMTkuMTk0LjEwIiwibmFtZSI6InN1c2hhbnRrIiwib2lkIjoiNjJiNzg3N2ItNGU0OC00ZTg2LTg3Y2YtYWNiZjYxNTQ5MTY4IiwicGxhdGYiOiIzIiwicHVpZCI6IjEwMDMyMDAwMzU5NkU5QjIiLCJzY3AiOiJBY2Nlc3NSZXZpZXcuUmVhZC5BbGwgQWNjZXNzUmV2aWV3LlJlYWRXcml0ZS5BbGwgQWdyZWVtZW50LlJlYWQuQWxsIEFncmVlbWVudC5SZWFkV3JpdGUuQWxsIEFncmVlbWVudEFjY2VwdGFuY2UuUmVhZCBBZ3JlZW1lbnRBY2NlcHRhbmNlLlJlYWQuQWxsIEFwcENhdGFsb2cuUmVhZFdyaXRlLkFsbCBBdWRpdExvZy5SZWFkLkFsbCBEZXZpY2VNYW5hZ2VtZW50QXBwcy5SZWFkLkFsbCBEZXZpY2VNYW5hZ2VtZW50QXBwcy5SZWFkV3JpdGUuQWxsIERldmljZU1hbmFnZW1lbnRDb25maWd1cmF0aW9uLlJlYWQuQWxsIERldmljZU1hbmFnZW1lbnRDb25maWd1cmF0aW9uLlJlYWRXcml0ZS5BbGwgRGV2aWNlTWFuYWdlbWVudE1hbmFnZWREZXZpY2VzLlByaXZpbGVnZWRPcGVyYXRpb25zLkFsbCBEZXZpY2VNYW5hZ2VtZW50TWFuYWdlZERldmljZXMuUmVhZC5BbGwgRGV2aWNlTWFuYWdlbWVudE1hbmFnZWREZXZpY2VzLlJlYWRXcml0ZS5BbGwgRGV2aWNlTWFuYWdlbWVudFJCQUMuUmVhZC5BbGwgRGV2aWNlTWFuYWdlbWVudFJCQUMuUmVhZFdyaXRlLkFsbCBEZXZpY2VNYW5hZ2VtZW50U2VydmljZUNvbmZpZy5SZWFkLkFsbCBEZXZpY2VNYW5hZ2VtZW50U2VydmljZUNvbmZpZy5SZWFkV3JpdGUuQWxsIERpcmVjdG9yeS5BY2Nlc3NBc1VzZXIuQWxsIERpcmVjdG9yeS5SZWFkLkFsbCBEaXJlY3RvcnkuUmVhZFdyaXRlLkFsbCBFZHVBZG1pbmlzdHJhdGlvbi5SZWFkIEVkdUFkbWluaXN0cmF0aW9uLlJlYWRXcml0ZSBFZHVBc3NpZ25tZW50cy5SZWFkIEVkdUFzc2lnbm1lbnRzLlJlYWRCYXNpYyBFZHVBc3NpZ25tZW50cy5SZWFkV3JpdGUgRWR1QXNzaWdubWVudHMuUmVhZFdyaXRlQmFzaWMgRWR1Um9zdGVyLlJlYWQgRWR1Um9zdGVyLlJlYWRCYXNpYyBFZHVSb3N0ZXIuUmVhZFdyaXRlIEdyb3VwLlJlYWQuQWxsIEdyb3VwLlJlYWRXcml0ZS5BbGwgSWRlbnRpdHlQcm92aWRlci5SZWFkLkFsbCBJZGVudGl0eVByb3ZpZGVyLlJlYWRXcml0ZS5BbGwgSWRlbnRpdHlSaXNrRXZlbnQuUmVhZC5BbGwgaWRlbnRpdHlyaXNreXVzZXIucmVhZC5hbGwgTWVtYmVyLlJlYWQuSGlkZGVuIFBlb3BsZS5SZWFkLkFsbCBQb2xpY3kuUmVhZC5BbGwgUG9saWN5LlJlYWRXcml0ZS5Db25kaXRpb25hbEFjY2VzcyBQcml2aWxlZ2VkQWNjZXNzLlJlYWRXcml0ZS5BenVyZUFEIFByaXZpbGVnZWRBY2Nlc3MuUmVhZFdyaXRlLkF6dXJlUmVzb3VyY2VzIFByb2dyYW1Db250cm9sLlJlYWQuQWxsIFByb2dyYW1Db250cm9sLlJlYWRXcml0ZS5BbGwgUmVwb3J0cy5SZWFkLkFsbCBTZWN1cml0eUV2ZW50cy5SZWFkLkFsbCBTZWN1cml0eUV2ZW50cy5SZWFkV3JpdGUuQWxsIFNpdGVzLkZ1bGxDb250cm9sLkFsbCBTdWJzY3JpcHRpb24uUmVhZC5BbGwgVXNlci5FeHBvcnQuQWxsIFVzZXIuSW52aXRlLkFsbCBVc2VyLlJlYWQgVXNlci5SZWFkLkFsbCBVc2VyLlJlYWRXcml0ZS5BbGwiLCJzdWIiOiJGN1g2eGVaYlBrYTJzT2xxcU5qTzNLWHBTeWdpWHc3UUY1MHMtTVVNOWJRIiwidGlkIjoiZjk3NTZmNDItMjdjMi00YjVkLTlkMjQtNWE3NjA0ZjcwZWY3IiwidW5pcXVlX25hbWUiOiJzdXNoYW50a0BwcmR4bi5jb20iLCJ1dGkiOiJBXzIxblNGSzhFR2ZRODlnYzJZWUFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjE1MzM2ODM3MzN9.OreAmua43bv6SDHOoYFnTQl97K4Zoz8PJjlPDGkKoJvUBZgy5HzfPGMutUGMpYfKRkdG_01aUuwG-DJGiFwJzMvpPVyMt3YVldd7Q7mZuP3k9_WVnp32XU7v47HijGxSrdiGVAq6qaZLEqAUs23CupseVsJ6NFTpTuxfDoCEgs8uCqYGlz5-oZvbkyxyQvrP7HBLxDKT0dL-SOLisVERyaJbW9gdQqEhzv9KGbhov_Eq0FIHkjLpJehU7cRF9tXGJF8ISRP71WrYkLwVJMjhnL4YqsPeWfnR9cnOmeSaFKe2OYFC97AMNpMFNV8WAsPpqJHb9HuLKHVmLTLqZPg3Fw

谢谢!

1 个答案:

答案 0 :(得分:1)

  

在Node.js API中,要验证令牌

您要验证Node.js API的令牌,但是您的受众群体是https://graph.microsoft.com,您应该请求Node.js API的令牌,而不是microsfot图API。