我正在使用Microsoft身份平台实施OAuth2。为此,我将应用程序注册到Azure Active Directory管理中心,并获得了应用程序ID和其他应用程序凭据。还提到了重定向网址。
因此,首先,我生成了auth-url(下面提供了代码段),并获得了到我的重定向端点的auth-code。当我尝试交换身份验证代码以获取访问令牌时,它会作为状态码401抛出异常,错误消息为“ 401未经授权”。
我正在使用simple-oauth2节点程序包。 这是我的代码段,用于生成auth-url
function authUrl() {
const url = oauth2.authorizationCode.authorizeURL({
redirect_uri: outlookCalendar.REDIRECT_URI,
scope: outlookCalendar.APP_SCOPES
});
return url;
}
其中APP_SCOPES =“ User.Read https://outlook.office.com/Calendars.ReadWrite”
这是上述代码生成的auth-url
这是获取访问令牌的功能
async function accessToken(code) {
try {
const result = await oauth2.authorizationCode.getToken({
code : code,
redirect_uri: outlookCalendar.REDIRECT_URI,
scope: outlookCalendar.APP_SCOPES
});
const token = oauth2.accessToken.create(result);
console.log('Token created: ', token.token);
return { tokens: token.token.access_token };
} catch (exception) {
console.log(exception);
return { error: exception };
}
}
所以,请任何人告诉我获取访问令牌的方式,或者我的代码出了点问题。 谢谢...